我有两个实体:作者和书。我想获得特定作者的所有书籍清单。
以下是我使用的代码:
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Books"];
[fetchRequest setPredicate[NSPredicate predicateWithFormat:@"ANY author == %@", author]];
books = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy];
但是,这只会返回作者的一本书。
如何获得特定作者的所有书籍?
我读了很多其他主题,但似乎没有一个解决方案适合我。
谢谢!
答案 0 :(得分:2)
你有没有试过这个?
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Books"];
request.predicate = [NSPredicate predicateWithFormat:@"author = %@", author ];
NSArray *matches = [moc executeFetchRequest:request error:nil];
答案 1 :(得分:1)
问题出在数据模型中:关系作者 - >本书应该是“To many”而不是“To one”。
更新关系后,我不得不在模拟器中重新安装应用程序,但之后一切正常。