insertRowsAtIndexPaths:第一次加载时崩溃

时间:2013-09-20 01:56:46

标签: ios uitableview ios7

每次都不会发生,但随机insertRowsAtIndexPaths:在tableviews endUpdates上崩溃我的应用程序。这是代码。

NSURLRequest *request1 = [NSURLRequest requestWithURL:url1];
AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request1 success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
    dispatch_async(dispatch_get_main_queue(), ^{
        self.contentArray = [NSMutableArray arrayWithArray:JSON];

        NSMutableArray *indexArray = [NSMutableArray array];
        [self.contentArray enumerateObjectsUsingBlock:^(id anObject, NSUInteger idx, BOOL *stop) {
            [indexArray addObject:[NSIndexPath indexPathForRow:idx inSection:0]];
        }];

        [self.mainTable beginUpdates];
        [self.mainTable insertRowsAtIndexPaths:indexArray withRowAnimation:UITableViewRowAnimationAutomatic];
        [self.mainTable endUpdates];

        self.mainTable.tableFooterView = [self buildLoadingView];
        self.mainTable.contentInset = UIEdgeInsetsMake(64.0, 0.0, 80.0, 0.0);
    });
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON){
    NSLog(@"%@", JSON);
}];
[operation start];

非常感谢任何帮助! 提前谢谢!

1 个答案:

答案 0 :(得分:1)

我认为你没有增加返回的行数,请确保增加和减少相应返回的行数,在下面的方法中。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    return numberOfRowsinTableSection;

}