Ios UICollectionview要刷新的滚动按钮
我想将来自服务器的5篇文章加载到UICollection视图单元格中 当用户到达集合的末尾时,从服务器获取数据并添加到已经存在的集合视图中,我将以这种方式实现,但旧数据不会显示集合视图中存在的新数据Ios UICollectionview要刷新的滚动按钮,ios,objective-c,uitableview,uicollectionview,Ios,Objective C,Uitableview,Uicollectionview,我想将来自服务器的5篇文章加载到UICollection视图单元格中 当用户到达集合的末尾时,从服务器获取数据并添加到已经存在的集合视图中,我将以这种方式实现,但旧数据不会显示集合视图中存在的新数据 - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView { float bottomEdge = scrollView.contentOffset.y +
- (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);
}];
}
}
我正在获取新数据,但旧数据未显示
在何处将新数据添加到旧数据中,以便可以看到所有文章。
提前感谢您的回复将myArray设置为NSMutableArray,不要忘记在viewController的init方法上分配init
而不是
myArray = [responseObject objectForKey: @"result"];
你会的
[myArray addObjectsFromArray:[responseObject objectForKey: @"result"]];
您好,谢谢您的回复,我不喜欢这个myArray=[[NSMutableArray alloc]init];在viewDidLoad方法中,在为下次用户滚动到底部时提取数据时,我正在提取数据,如下所示[myArray addObjectsFromArray:[responseObject objectForKey:@result]];由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序时出错,原因:“-[\uu NSCFArray insertObject:atIndex:]:将方法发送到不可变对象”我没有在viewDidLoad中对init说,我在-instancetypeinit子类方法中对init说。您得到的错误是因为您没有按照我说的那样分配NSMutableArray init,因此程序认为它仍然是一个NSArray,它是不可变的,您无法向其中添加对象。