【发布时间】:2016-08-23 03:22:54
【问题描述】:
我有一个关于在使用 NSFetchedResultsController 和核心数据时的最佳实践的问题,当您有一个托管对象具有一组托管对象作为属性时,例如:
class SomeObject: NSManagedObject {
@NSManaged var name: String
@NSManaged var notes: String?
@NSManaged var otherObjects: Set<OtherObject>?
}
class OtherObject: NSManagedObject {
@NSManaged var name: String
@NSManaged var notes: String?
@NSManaged var parent: SomeObject
}
我正在使用 NSFetchedResultsController 为“SomeObject”实例填充 UITableView。当用户选择其中一个表格元素时,它会转到另一个 UIView,其中包含有关 SomeObject 实例的详细信息以及分配了 OtherObjects 列表的 UITableView。
我的问题是高效的表视图管理的最佳实践是什么?我应该使用父 SomeObject 元素创建另一个 NSFetchedResultsController 来过滤和查询数据库,还是应该在初始数据查询期间使用提取的 OtherObjects 填充表?我将 SomeObject 实例注入到下一个 UIView 中,因此新视图具有 ManagedObjectContext 和原始信息。
【问题讨论】:
标签: swift uitableview core-data uiview nsfetchedresultscontroller