这的其他部分工作正常。但如果 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];
}
}