好的,所以我已经尝试了苹果 SDK 开发者页面上的示例,但没有成功。我尝试了之前关于stackoverflow的问题的示例,例如:
NSEntityDescription entitydesc = [NSEntityDescription entityForName:@"Model" inManagedObjectContext:context];
NSFetchRequest request = [[NSFetchRequest alloc]init];
[request setEntity:entitydesc];
//尝试了这种风格的谓词
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"accessible == %@", [NSNumber numberWithBool:YES]];
//和这个
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"accessible == YES"];
[request setPredicate: predicate];
NSError *error;
NSArray *matchingData = [context executeFetchRequest: request error: &error];
两者都不起作用。在调试器中,matchingData 应该有很多对象时显示 0 个对象。
我所有其他的 fetchrequests 都工作得很好。这是唯一给我带来问题的。
该属性在 .xcdatamodel 中列为布尔类型
该属性在实体的头文件下如下所示:
@property (nonatomic, retain) NSNumber * accessible;
数据输入核心数据数据库如下:
NSNumber *accessibleFieldValue = [NSNumber numberWithBool:YES];
[newModel setValue: accessibleFieldValue forKey:@"accessible"];
我已经检查过了,sqlite 数据库中没有输入 nil 值。
我应该怎么办?