如何快速获取 Core Data 中的关系
Posted
技术标签:
【中文标题】如何快速获取 Core Data 中的关系【英文标题】:How can I fetch a relationship in Core Data swift 【发布时间】:2017-04-25 21:35:23 【问题描述】:这是我的核心数据模型:
我有两个实体:Folder <->> Note
,我想获取文件夹中的所有笔记。
【问题讨论】:
【参考方案1】:首先建议将 many 关系命名为复数形式 (notes
),这样更容易理解模型。
如果您有 NSManagedObject
子类和对文件夹的引用,只需通过关系获取注释:
let notes = folder.notes
但是这会返回一个Set
。如果你想要一个数组写
let notes = folder.notes.allObjects as! [Note]
您还可以使用谓词分配给Note
实体上的提取请求:
let name = "Foo"
let predicate = NSPredicate(format:"folder.name == %@", name)
【讨论】:
这是我在堆栈上发布的第一个问题,它建议我不要说谢谢,但 Thakssss!哈哈【参考方案2】:在你的函数中写这行代码
let container = (UIApplication.shared.delegate as! AppDelegate).persistentContainer
let context: NSManagedObjectContext = container.viewContext
let request:NSFetchRequest<Notes> = Notes.fetchRequest()
request.predicate = NSPredicate(format: "here write relationship name .folderName = %@" , searchbar.text!)
do
let result = try context.fetch(request)
for notes in result
....
【讨论】:
以上是关于如何快速获取 Core Data 中的关系的主要内容,如果未能解决你的问题,请参考以下文章
根据 Swift Core Data 中的关系获取与特定实体相关的所有条目