NSManagedObject的值为nil

时间:2012-08-31 12:44:19

标签: nsmanagedobject

我使用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。我想知道它什么时候有“零”值:

  • (NSManagedObject) isEqual
  • (NSManagedObject) isFault
  • (NSManagedObject) = NULL

这些选项中的任何一个都不会运行。任何人都可以帮助我吗?

提前多多感谢。

1 个答案:

答案 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