2

我是objective-c世界的新手。

我想知道的是如何检查可变数组对象是否存在。

这是一个例子。

if(![appDelegate.answerList objectAtIndex:3])
    {
        answer = [[NSMutableArray alloc] init];
    }
    else
    {
        answer = [[NSMutableArray alloc] initWithArray:[appDelegate.answerList objectAtIndex:3]];
    }

在此代码上方,'answer' 对象是本地的,而 'answerList' 对象位于 appDelegate 类上。

两者都是 NSMutableArray 对象。

我不知道 answerList 的第三个对象是否被分配。

如果它已经有一个对象,我只想从 answerList 的第三个对象中复制一个对象。

但是该代码不起作用。

我不熟悉objective-c的方法。

请给我指路。

4

1 回答 1

2

count您可以通过将数组的属性与数字进行比较来检查数组是否为空(在本例中为 4,因为数组是基于 0 的)。而且由于数组不接受存在的对象并向其所有对象nil发送-retain消息,因此从技术上讲,您只需要比较计数而不是对象的存在。但是,您也可以在其中嵌套当前的 if...else... 块,以获得更准确(如果冗余)的结果。

if([appDelegate.answerList count] <= 4)  //object exists, and the array contains a valid index.
于 2012-08-03T06:54:50.970 回答