使用特定对象而不是对象属性获取核心数据

时间:2012-02-18 15:04:21

标签: core-data fetch

我一直在搜索论坛,并在另一个用户问题上找到了一些代码,这是我追求的99%。下面的代码片段......

Bookshop *bookshop = (Bookshop *) nsManagedObjectFromOwner;

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Books" 
                      inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];

NSPredicate *predicate = [NSPredicate predicateWithFormat:
          @"ANY bookshop.Name == '%@'", 
          bookshop.Name];
[fetchRequest setPredicate: predicate];

在此提取中,谓词正在搜索属于特定名称的书店的所有书籍。然而,在我的应用程序中,我的书店是客户端,客户端可能具有相同的名称。鉴于我自己没有在客户端实体中声明任何唯一的标识符,设置谓词的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

是啊......我已经把这个想出来了。对于那些有同样问题的人......

...如果您已经拥有'bookshop'对象,您可以使用以下符号来引用其“书籍”......

bookshop.books

所以这可以用如下......

NSSet *books = bookshop.books;
NSArray *booksArray = [[NSArray alloc] init]]
booksArray = [books allObjects];

然后你有一个NSArray,你可以使用你所有的书籍对象。

嘿presto !!