iPhone:删除TableView中的部分

时间:2011-07-04 08:32:05

标签: iphone objective-c cocoa-touch uitableview

我正在使用表视图和部分...在某些情况下,我需要删除一个部分,在另一个部分中将其删除。我可以通过两种方式做到这一点: 1)

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    if (somecase) {
        return 2;
    } else {
        return 3;
    }
}

而不是

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    UITableViewCell *tableViewCell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:nil];
    [tableViewCell autorelease];

    tableViewCell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    if (sectionNumber == 3 {
        switch (indexPath.section) {
            case 0:
                break;
            case 1:
                break;
            case 2:
                break;
        }
    } else if (sectionNumber == 2) {
        switch (indexPath.section) {
            case 0:
                break;
            case 1:
                break;
        }
        return tableViewCell;
    }
}

第二种方式是实施

[self.tableView beginUpdates];
[self.tableView deleteSections:[NSIndexSet indexSetWithIndex:1] withRowAnimation:NO];
[self.tableView endUpdates];

但它不起作用......我把这些方法放到ViewDidLoad上,是吗?或者我应该放在其他地方?或者问题是什么?

删除部分的最佳做法是什么?第一个还是第二个?感谢....

1 个答案:

答案 0 :(得分:0)

  • 设置满足“somecase”的条件,然后重新加载tableview

[tableview reloadData];