0

这的其他部分工作正常。但如果 itemFlag 为真,则在进行字母排序后,我无法让新信息正确显示。退出程序并重新启动显示新项目已成功添加到阵列中,并且所有内容都正确显示。

所以我的问题是,如果 itemFlag 为真,为什么 reloadData 不起作用?

这是代码:

- (void)changeFoodDetails:(NSString *)foodName withPoints:(NSString *)foodPoints{
    if (newItemFlag) {

        [_foodStuffsArray insertObject:[[FoodItem alloc] initWithName:foodName points:[foodPoints intValue]] atIndex:0];

        NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
        [self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];

        [sharedManager sortFoodStuffArrayByName];
        [self.tableView reloadData];

        newItemFlag = false;
    }else {
        [_foodStuffsArray removeObjectAtIndex:currentFoodstuffArrayEntry];
        [_foodStuffsArray insertObject:[[FoodItem alloc] initWithName:foodName points:[foodPoints intValue]] atIndex:currentFoodstuffArrayEntry];
        [self.tableView reloadData];
    }
}
4

0 回答 0