如何更新存档和表格视图单元格

Posted

技术标签:

【中文标题】如何更新存档和表格视图单元格【英文标题】:how to update archive and table view cell 【发布时间】:2012-11-16 23:45:11 【问题描述】:

我正在开发一个 MasterDetail 应用程序,但在更新我的 itemCell 时遇到了问题。使用下面 DetailViewController 中的代码,我希望能够在触摸单元格(有一个自定义 ItemCell)后访问详细视图,编辑文本字段中的内容,点击保存按钮,更新项目数据,然后弹回 MasterViewController。

来自 DetailViewController.m

- (IBAction)addItem:(id)sender

RoomItem *item = [[RoomItem alloc] initWithName:[_roomTxt text] Building:[_buildingTxt text]];

//add item is an addObject method i've placed in RoomList.m
[[RoomList sharedStore] addItem:item];

[self.navigationController popToRootViewControllerAnimated:YES];

很明显,这只是创建一个新的表格视图项目,而不是更新原始项目,但我是一个愚蠢的菜鸟,无法在文档中找到任何内容来帮助我解决这个问题。

想法? 如果我没有提供足够的信息/代码来准确解释情况,请告诉我。

另外,有没有办法通过 UITableViewAccessory 实现相同的功能?

谢谢。

这对我有用。看来我没有正确获取核心数据实体。但是,objectAtIndex 查询仍然是一个问题,因为它只更新了 index:0 处的 RoomItem。 如何获取我要更新的 RoomItem 的索引?

编辑:

- (RoomItem *)updateItemWithRoom:(NSString *)room Building:(NSString *)building

NSError *error = nil;

NSEntityDescription *entity = [NSEntityDescription entityForName:@"RoomItem" inManagedObjectContext:context];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:entity];

RoomItem *currentRoomItem = [[context executeFetchRequest:request error:&error] objectAtIndex:0];
request = nil;

[currentRoomItem setRoom:room];
[currentRoomItem setBuilding:building];

[self saveChanges];

return currentRoomItem;

【问题讨论】:

【参考方案1】:

尝试调用 viewdidappear 从表视图中重新加载数据并重新加载数据。

【讨论】:

抱歉,但我不知道该怎么做。你的意思是我需要把MasterViewController.h导入DetailViewController.m,然后从前者调用viewDidAppear? 你必须在 MasterViewController 中实现-(void)viewDidAppear:animated 方法。在方法上,您可以使用 [self.myTableView reloadData] 重新加载完整的 TableData 请参阅上面的更新以获取部分解析的代码。我仍然有问题...感谢您的帮助 mariusLAN。 最终,我需要获取正在编辑的 RoomItem 的 objectIndex 并将其传递给 updateRoomItem。有没有办法在 DetailViewController 中做到这一点? 你可以把索引交给detailviewcontroller

以上是关于如何更新存档和表格视图单元格的主要内容,如果未能解决你的问题,请参考以下文章

异步图像下载和调整图像高度后如何更新表格视图单元格

如何在图像下载和高度约束迅速改变后更新表格视图单元格高度?

重新排列表格视图单元格后如何更新核心数据记录

iOS如何编辑(更新)日期我表格视图单元格解析Swift

如何从动态创建的表格视图单元格的输入字段中将数据检索到数组

更新表格视图单元格中的核心数据值后如何刷新