【发布时间】:2012-01-22 22:57:16
【问题描述】:
我有一个获取请求,它使用 NSPredicate 从核心数据中捕获一组 NSString 记录。但是,输出似乎难以理解。我看不到我错过了什么。代码如下:
NSManagedObjectContext *context = [self managedObjectContext];
NSEntityDescription *entityQuote = [NSEntityDescription entityForName:@"Quotes" inManagedObjectContext:context];
NSFetchRequest *fetchRequestQuote = [[NSFetchRequest alloc] init];
[fetchRequestQuote setEntity:entityQuote];
if ([sourceString isEqualToString:@"one"]) sourceString = @" one";
if ([sourceString isEqualToString:@"two"]) sourceString = @" two";
if ([sourceString isEqualToString:@"three"]) sourceString = @" three";
if ([sourceString isEqualToString:@"four"]) sourceString = @" four";
if ([sourceString isEqualToString:@"five"]) sourceString = @" five";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"quote contains %@", sourceString];
[fetchRequestQuote setPredicate:predicate];
NSArray *chosenSourceAll = [context executeFetchRequest:fetchRequestQuote error:nil];
int countSource = [chosenSourceAll count];
int rNumber = arc4random() % countSource;
NSLog(@"%d, %d, %@", rNumber, countSource, [chosenSourceAll objectAtIndex:rNumber]);
我在控制台的输出是:
2, 38, <NSManagedObject: 0x8c65860> (entity: Quotes; id: 0x7fc4790 <x-coredata://9FC73918-E9DC-4CDB-9D32-E640C9E24C71/Quotes/p3> ; data: <fault>)
关于如何让字符串内容输出的任何想法?我是否不恰当地格式化了我的获取请求?我确实检查了 sqlite3 文件,字符串很好。
【问题讨论】:
标签: objective-c core-data nspredicate nsfetchrequest