gpt4 book ai didi

iphone - UITableView 刷新崩溃

转载 作者:行者123 更新时间:2023-11-28 22:41:33 25 4
gpt4 key购买 nike

我有一个 UITableView,它从 Twitter 搜索中获取 JSON 数据。我正在使用轮询来自动刷新 View 。

在我的 viewDidLoad 中,我有:

[NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(autoTweets:) userInfo:nil repeats:YES];

然后我有:

-(void) autoTweets : (NSTimer *)theTweets
{
NSURL *url = [NSURL URLWithString:@"http://search.twitter.com/search.json?q=%23hatlive%20-%22RT%20%40%22"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];

connection = [NSURLConnection connectionWithRequest:request delegate:self];


if (connection)
{
webData = [[NSMutableData alloc] init];
}

[[self myTableView]setDelegate:self];
[[self myTableView]setDataSource:self];
array = [[NSMutableArray alloc] init];
}

这样做每 10 秒刷新一次数据。问题是,如果我在执行代码的第 10 秒滚动,应用程序就会崩溃。如果我不滚动,它更新就好了。有谁知道为什么吗?

最佳答案

假设 array 是 TableView 的数据源使用的数据,那么问题是您在连接开始时更改了数组的内容。然后,当连接在后台完成时,内容会更新。同时,随着表格的滚动,它仍在尝试访问数组的旧内容。

一种解决方案是设置一个用于处理新连接的临时数组。在对表调用 reloadData 之前,不要用新数组更新旧数组。

关于iphone - UITableView 刷新崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14389515/

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