我是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的方法。
请告诉我。答案 0 :(得分:2)
您可以通过将数组count
属性与数字进行比较来检查数组是否为空(在本例中为4,因为数组基于0)。并且因为数组不接受nil
的对象并向其所有对象发送-retain
消息,所以从技术上讲,您只需要比较计数而不是对象存在。但是,您可以将当前的if ... else ...块嵌套在此处,以获得更准确(如果是多余的)结果。
if([appDelegate.answerList count] <= 4) //object exists, and the array contains a valid index.