我使用CoreData保存数据。我有一个数组,最后一次出现的值是"nil"。我不想在CoreData中保存"nil"值我尝试检查"nil"值,但无法实现。我的代码:
for (NSManagedObject *category in array)
{
//if (![category isEqual:nil]) { <- FAILED ATTEMPT
//if (![category isFault]) { <- FAILED ATTEMPT
//if (category != NULL) { <- FAILED ATTEMPT
[ more Objective-C code ...]
// Insert Objects in the Core Data
theLine = [NSEntityDescription insertNewObjectForEntityForName:entName
inManagedObjectContext:context];
//}
}
我不明白为什么检查NSManagedObject的"nil value"如此困难。
在我的代码中,"类别"是一个NSManagedObject。我想知道它什么时候有"nil"值:
- (NSManagedObject)等于
- (NSManagedObject)isFault
- (NSManagedObject)=NULL
这些选项中的任何一个都不会运行。有人能帮我吗?
提前非常感谢。
我认为如果你只使用if(category)
或if(category == nil)
,他们应该检查它是否等于零。
如果做不到这一点,你可以做一个for循环,比如:
for (int cycle =0 ; cycle < [array count]; cycle++){
if ([[array objectAtIndex:cycle]isKindOfClass[NSNull class]]){
////Do some code here
}
}
这将检查对象的值是否为Null,因为您的循环将只查看NSManagedObjects