将对象添加到底层 nsmanagementobjectcontext 后如何刷新 uitableview/nsmutablearray
我有一个基本的 UITableViewController,它显示从简单的两个实体核心数据存储库中获取的学校列表。 tableview 绑定到从 NSManagedObjectContext 加载的学校 NSMutableArray。
我添加了一个“添加新学校”按钮,它向用户提供了一个用于添加新学校的表单。当用户添加新学校并单击“保存”时,我将新学校对象保存到 NSManagedObjectContext 并从导航堆栈中弹出“添加学校”视图。我被送回原来的 uitableview,新学校不在列表中。
我知道我需要在返回时刷新表格视图,但不确定如何刷新。注意:如果我退出模拟器并再次运行程序,则会出现新的学校记录,因此我知道它已正确添加到底层存储中。
很确定我需要实现一个 NSFetchedResultsController ,但这似乎是大量代码,看起来非常简单。
如果 NSFetchedResultsController 是唯一的方法,有人可以指导我查看可能显示此流程的教程或代码清单吗?
非常感谢。
菲尔
I have a basic UITableViewController that displays a list of schools, fetched from a simple two-entity core data repository. The tableview is bound to an NSMutableArray of schools that is loaded from an NSManagedObjectContext.
I added a "add new school" button which presents the user with a form for adding a new school. When the user adds the new school and clicks "save", I save the new school object to the NSManagedObjectContext and pop the "add school" view from the navigation stack. I am sent back to the original uitableview and the new school IS NOT in the list.
I know that I need to refresh the tableview, upon return, but am unsure how. NOTE: if I exit the simulator and run the program again, the new school record appears, so I know it is getting added properly to the underlying store.
Pretty sure I need to implement an NSFetchedResultsController but that seems like a TON OF CODE for what seems to be something quite straightforward.
If NSFetchedResultsController is the only way, can someone direct me to a tutorial or a code listing that may show this flow?
Many thanks.
Phil
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试在 viewWillAppear 方法中重新加载数据:
PS:我仍然建议您使用获取的结果控制器。很多代码都是样板代码,您通常不需要接触它们。
Try reloading the data in your viewWillAppear method:
PS: I'd still recommend you look in to using a fetched results controller. A lot of the code is boiler plate and you won't normally need to touch it.