为什么这是NULL?

时间:2011-06-16 18:03:02

标签: iphone objective-c nsarray nslog

有谁能告诉我为什么这是NULL?

所以Array1是NSMutable,在索引0处有一个NSString对象“UserName”;

NSLog (@"Contents of array1 %@", [array1 objectAtIndex:0]); //prints UserName

现在,我这样做......

array2属于另一个类。我引用类,导入.h文件,添加属性并合成它。

[object2.array2  addObject: array1]; //array2 is NSMutable properly initialized in it's respective class in the init method

NSLog (@"Contents of array2 %@", [object2.array2 objectAtIndex:0]); //prints (null)

tempArray = [[NSMutableArray alloc] init];
tempArray = [object2.array2 objectAtIndex:0];
NSLog (@"%@", [tempArray objectAtIndex:0]); // Prints (null) // Should be UserName

添加更多信息:

object2是另一个类的对象(它是NSObject的子类),object2包含array2,因为它是property

object2是零。为什么?怎么??

1 个答案:

答案 0 :(得分:2)

NSLog (@"Contents of array2 %@", [object2.array2 objectAtIndex:0]); //prints NULL

如果'打印为NULL',则出于以下四个原因之一:

  • object2是nil
  • object2.array2返回nil
  • 索引0处的对象是字符串“NULL”
  • 索引0的description方法的对象返回字符串“NULL”

这是什么?


  

对象2为零。我想知道为什么。

最有可能的原因是你没有首先初始化它。显示您的初始化代码,并删除日志语句或断点,并确保它实际上正在执行。