gpt4 book ai didi

ios - 使用 JSON 的 TableView 滚动分页

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:45:48 26 4
gpt4 key购买 nike

我是 objective -c 的新手。我有问题;

我正在从 JSON 获取和解析并将它们写入带有数组的 TableView 。这显然是一个不错的结果。

但是当我滚动到底部时我想得到第二页。我读了文件的音调。但是我无法将第二页传递给 tableView。

这是我的代码摘要;

我在第 0 页调用 JSON get 和 make 数组方法。(没问题)

- (void)viewDidLoad
{
[self takeList:0];
}

我的 JSON get 和 make 数组方法。 (问题就在这里)

-(void)takeList: (NSUInteger) page
{
NSString * urlStr = [NSString stringWithFormat:@"http://www.EXAMPLE.com/json/main.json"];
NSURL * url = [NSURL URLWithString:urlStr];
NSData * data = [NSData dataWithContentsOfURL:url];
if (page == 0) {
array = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
}else{
new_array = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
NSMutableArray *ar1 = [array mutableCopy];
NSMutableArray *ar2 = [new_array mutableCopy];
[ar1 addObject:ar2];
[self.myTableView reloadData];
}
}

我的滚动调用方法(没问题)

-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{

NSInteger currentOffset = scrollView.contentOffset.y;
NSInteger maximumOffset = scrollView.contentSize.height - scrollView.frame.size.height;

if ((currentOffset > 0) && (maximumOffset - currentOffset) <= 140) {
pages++;
[self takeList:pages];
}

}

最后 cellForRowAtIndexPath 使用这个数组。

请帮我解决“如何将新页面发送到 tableView?”。

谢谢(抱歉我的英语不好。)

最佳答案

这段代码

 new_array = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
NSMutableArray *ar1 = [array mutableCopy];
NSMutableArray *ar2 = [new_array mutableCopy];
[ar1 addObject:ar2];
[self.myTableView reloadData];

不会做任何有用的事情。这不是您在 objective-c(或我能想到的任何语言)中连接数组的方式。相反,您需要将其替换为以下内容

 new_array = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];

array = [array arrayByAddingObjectsFromArray:new_array];
[self.myTableView reloadData];

关于ios - 使用 JSON 的 TableView 滚动分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18757640/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com