【发布时间】:2011-04-29 22:16:48
【问题描述】:
假设数据实体是:Bookshop <--->> Books
例如,我如何获取属于特定书店且名称中包含“cloud”的所有书籍?下面的方法感觉很笨拙。
Bookshop *bookshop = (Bookshop *) nsManagedObjectFromOwner;
NSString *searchTerm = @"cloud";
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Books"
inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
NSPredicate *predicate = [NSPredicate predicateWithFormat:
@"ANY bookshop.Name == '%@' && Name contain[cd] '%@'",
bookshop.Name, searchTerm];
[fetchRequest setPredicate: predicate];
如果有 2 家名称非常相似的书店,我该如何改进此代码以进行处理?并且也许还可以提高获取的性能,因为 UITableView 应该随着用户输入书名而更新。
【问题讨论】:
标签: objective-c core-data entity-relationship