这个Objective C代码在做什么?

时间:2011-08-21 09:31:04

标签: objective-c

我正在学习Objective C.我得到了一个代码来修复我已修复但不完全确定发生了什么。有些人可以解释下面代码的作用。

 //in header file  there is this line
 @property (retain) NSMutableArray *anArray;  

  // In implementation file in a method
  self.anArray = [NSMutableArray array];
  //This assigns a large value to index . What is this value. Does NSIteger needs initialization I think default is 0 
  NSInteger _nextIndex = (NSInteger)[self.anArray];

2 个答案:

答案 0 :(得分:7)

该代码无效,无法解析[self.anArray]

方括号用于调用方法,但是没有方法可以调用。看起来你想要做的是NSInteger _nextIndex = (NSInteger)[self.anArray count];,它将为_nextIndex分配数组中元素的数量,这是下一个索引的位置。

数组是一个项目列表,从0开始。因此,如果列表没有任何内容,count方法将返回0,这是第一个位置。如果列表包含100个项目,则他们将使用099的索引,然后count将返回100,下一个项目位置将为100

答案 1 :(得分:3)

您将指向self.anArray的指针强制转换为NSInteger。换句话说,_nextIndex包含self.anArray存储的地址。