我嵌入了我的项目 EGOTableViewPullRefresh ,一切正常并且更新正常,但是当我将视图拉得太多而无法更新时,应用程序崩溃并出现错误:
2012-04-24 19:02:56.670测试[3927:f803] *终止app到期 未被捕获的异常'NSRangeException',原因:'* - [__NSArrayM objectAtIndex:]:索引2超出空数组的边界' * 第一次抛出调用堆栈:
这段代码
self.tabBarController = [[[UITabBarController alloc] init] autorelease];
NSMutableArray * viewControllers = [[NSMutableArray alloc] init];
//plist file full path
NSString *urlStr = [[NSString alloc]
initWithFormat:@"http://www.test.com/data.xml?seedVar=%f",
(float)random()/RAND_MAX];
NSURL *url = [NSURL URLWithString:urlStr];
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfURL:url];
//Get the folder array
NSArray * subscriptionFolders = [dict objectForKey:@"Folders"];
更新
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
[cell.textLabel setNumberOfLines:2];
[cell.detailTextLabel setNumberOfLines:3];
[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];
}
RSSItem * rssItem = (RSSItem *)[_rssParser.rssItems objectAtIndex:indexPath.row];
[cell.textLabel setText:rssItem.title];
[cell.detailTextLabel setText:rssItem.summary];
return cell;
}
你可以帮我解决这个问题吗?
答案 0 :(得分:0)
我找到了解决方案。当我在 reloadTableViewDataSource 中调用 rssParser 时,它会崩溃。当我尝试在 dataSourceDidFinishLoadingNewData 中调用 rssParser 时,一切正常,没有崩溃。
- (void)reloadTableViewDataSource{
[super performSelector:@selector(dataSourceDidFinishLoadingNewData) withObject:nil afterDelay:2.0];
}
- (void)dataSourceDidFinishLoadingNewData{
[_rssParser start];
[refreshHeaderView setCurrentDate];
[super dataSourceDidFinishLoadingNewData];
}