这是我的核心数据模型:
我有两个实体:Folder <->> Note
我想获取文件夹中的所有笔记。
首先,建议将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)
在你的函数中写下这行代码
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
{
....
}
}