繁体   English   中英

insertRowsAtIndexPaths:首次加载时崩溃

[英]insertRowsAtIndexPaths: crashes on first load

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

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

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

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

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

    return numberOfRowsinTableSection;

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM