删除大量表视图行时挂起

时间:2015-10-26 13:00:12

标签: ios uitableview animation

以下代码将挂起。

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

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

    if (_empty) {
        return 0;
    } else {
        return 25000;
    }
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    return [tableView dequeueReusableCellWithIdentifier:@"Cell"];
}

- (IBAction)buttonPressed:(id)sender {

    NSMutableArray *collector = [@[] mutableCopy];

    for (NSInteger i = 0; i < 25000; i++) {
        [collector addObject:[NSIndexPath indexPathForRow:i inSection:0]];
    }

    _empty = YES;

    [self.tableView deleteRowsAtIndexPaths:[collector copy]
                          withRowAnimation:UITableViewRowAnimationNone];
}

我为此提交了一个带苹果的雷达(22865658)。

可在此处找到示例项目https://www.dropbox.com/s/upn9ee5svp11a1t/asdf.zip?dl=0

0 个答案:

没有答案