我使用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值'。
在我的代码中,'category'是一个NSManagedObject。我想知道它什么时候有“零”值:
这些选项中的任何一个都不会运行。任何人都可以帮助我吗?
提前多多感谢。
答案 0 :(得分:1)
我认为如果您只使用if(category)
或if(category == nil)
,则应检查它是否等于nil。
如果失败了,你可以做一个for循环,如:
for (int cycle =0 ; cycle < [array count]; cycle++){
if ([[array objectAtIndex:cycle]isKindOfClass[NSNull class]]){
////Do some code here
}
}
这将检查对象的值是否为Null,因为你的循环只会查看NSManagedObjects