UICollectionview滚动按钮刷新

问题描述:

我想从服务器中加载5条到UICollection视图单元格 当用户到达集合的末尾从服务器获取数据并添加到已经存在的集合视图时,我正在实现这个但是旧数据不会显示收集视图中显示的新数据。UICollectionview滚动按钮刷新

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView { 
    float bottomEdge = scrollView.contentOffset.y +                scrollView.frame.size.height; 
if (bottomEdge >= scrollView.contentSize.height) { 
    // we are at the end 

    NSString *userId = [[NSUserDefaults standardUserDefaults]objectForKey:@"REG_userId"]; 

    NSString *userToken = [[NSUserDefaults standardUserDefaults]objectForKey:@"REG_TOKEN"]; 

    NSDictionary *parameters = @{@"user_id" : userId , 

           @"token" : userToken , 

           @"pagination_type" : @"down" , 

           @"article_id" : articalID 

           }; 
    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
    [manager GET:@"http://ec2-52-74-165-2.ap-southeast-1.compute.amazonaws.com/api/articles" 
     parameters:parameters 
     success:^(AFHTTPRequestOperation *operation, id responseObject) { 
      // NSLog(@"JSON: %@", responseObject); 
      // myArray = [responseObject objectForKey: @"result"]; 
      dispatch_async(dispatch_get_main_queue(),^
          { 
           [self.Collection reloadData]; 

          }); 


     } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 

      NSLog(@"Error: %@", error); 
     }]; 


} 

}

我得到了新的数据和日老不不显示。

将新数据添加到旧数据的位置,以便可以看到所有的文章。 预先感谢您的回复

让你myArrayNSMutableArray,不要忘了初始化页头在你的viewController的init方法。的

代替

myArray = [responseObject objectForKey: @"result"]; 

你会做

[myArray addObjectsFromArray:[responseObject objectForKey: @"result"]]; 
+0

感谢嗨的回答,我不喜欢这个myArray的= [[NSMutableArray里的alloc]初始化]。在viewDidLoad方法中,然后当下次获取数据时,当用户滚动到底部时,我正在获取数据并像这样[myArray addObjectsFromArray:[responseObject objectForKey:@“result”]];错误终止应用程序,由于未捕获异常'NSInternalInconsistencyException',原因:' - [__ NSCFArray insertObject:atIndex:]:变异方法发送到不可变对象' –

+0

我没有说'init'in viewDidLoad', - (instancetype)init'的子类方法。 你得到的错误是因为你没有像我说的那样做(分配init NSMutableArray),所以程序仍然是NSArray,它是不可变的,你不能将对象添加到它。 – Erakk