更新UITableView:插入一行

时间:2014-06-15 14:59:17

标签: ios

我是按照以下方式在我的UITableView中插入一些行:

__weak OpenFolderViewController *weakSelf = self;

NSMutableArray* arr = [[DKStoreManager getFileNameListForUser:[_PassedUserID intValue] andFolderCode:[_FolderCode intValue] andType:_FolderType ordered:@"ALPHABET"] mutableCopy];
[arr removeObjectsInRange:NSMakeRange(20, arr.count - 20)];
[arr removeObjectsInArray:itemArray];
NSLog(@"%@", arr);

int64_t delayInSeconds = 2.0;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
    [weakSelf.tableView beginUpdates];
    [itemArray addObjectsFromArray:arr];
    //[itemArray addObject:@"FrateNote1692890348.txt"];
    [weakSelf.tableView insertRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:itemArray.count-1 inSection:0]] withRowAnimation:UITableViewRowAnimationTop];
    [weakSelf.tableView endUpdates];

    [weakSelf.tableView.infiniteScrollingView stopAnimating];
});

数组“are”包含正确的对象,包括FrateNote1692890348.txt,但是如果我使用:

[itemArray addObject:@"FrateNote1692890348.txt"];

在更新方法中,应用程序正常工作并添加了行,而如果我使用:

[itemArray addObjectsFromArray:arr];

该应用程序因错误而崩溃:

*** Assertion failure in -[UITableView _endCellAnimationsWithContext:], /SourceCache/UIKit/UIKit-3185.20/UITableView.m:1487

在线

[weakSelf.tableView endUpdates];

0 个答案:

没有答案