1

プロジェクトEGOTableViewPullRefreshに埋め込みましたが、すべてが正常に機能して更新されますが、ビューを下げすぎて更新できないと、アプリがクラッシュしてエラーが発生します。

2012-04-24 19:02:56.670テスト[3927:f803] *キャッチされなかった例外'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;
}

これを手伝ってくれませんか。

4

1 に答える 1

0

私は解決策を見つけました。reloadTableViewDataSourcerssParserを呼び出すと、クラッシュします。dataSourceDidFinishLoadingNewDataでrssParserを呼び出そうとすると、クラッシュすることなくすべて正常に動作します。

- (void)reloadTableViewDataSource{
[super performSelector:@selector(dataSourceDidFinishLoadingNewData) withObject:nil afterDelay:2.0];
}

- (void)dataSourceDidFinishLoadingNewData{
    [_rssParser start];
    [refreshHeaderView setCurrentDate]; 
    [super dataSourceDidFinishLoadingNewData];   
}
于 2012-04-26T11:38:04.317 に答える