3

此代码返回 0 个不正确的对象。但是,当删除谓词时,获取请求会返回所有对象。

NSError *error = nil;

NSEntityDescription *entityDescription = [NSEntityDescription                                              entityForName:@"Person"  inManagedObjectContext:[self managedObjectContext]];

NSPredicate * pr = [NSPredicate predicateWithFormat:@"%K beginswith '%@' ",
                    @"FullName", searchText];

//NSPredicate * pr = [NSPredicate predicateWithFormat:@"PersonID == %@", searchText]; Works fine


NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];
[request setEntity:entityDescription];
 [request setPredicate:pr];
NSArray * arr = [[self managedObjectContext] executeFetchRequest:request error:&error];

FullName 属性包含 unicode 数据(阿拉伯语)。

任何帮助表示赞赏。

4

1 回答 1

7

尝试:

NSPredicate * pr = [NSPredicate predicateWithFormat:@"FullName beginswith %@", searchText];
于 2011-02-09T18:29:59.907 回答