1

它不会每次都发生,但随机 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];

任何帮助深表感谢!提前致谢!

4

1 回答 1

1

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

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

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

    return numberOfRowsinTableSection;

}
于 2013-09-20T07:24:43.870 回答