如何检查Objective-C中是否存在可变数组对象?

时间:2012-08-03 06:52:48

标签: objective-c

我是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的方法。

请告诉我。

1 个答案:

答案 0 :(得分:2)

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

if([appDelegate.answerList count] <= 4)  //object exists, and the array contains a valid index.