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

标签 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的方法。

请给我指路。

最佳答案

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

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

关于objective-c - 如何检查 Objective-C 中是否存在可变数组对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11790712/

相关文章:

iphone - 可以在iOS 5 ipad编程中使用google Maps街景 带标注等mapkit的功能吗?

ios - 没有可用应用程序时在浏览器中登录 Twitter

ios - 如何打开框架中包含的 View Controller 作为 iOS 的静态库?

objective-c - 我需要从 Swift 调用 Objective C 方法

ios - 异步创建包含图像的数组

ios - 在 objective-c 中访问类方法。使用 self 或类名?

objective-c - NSDictionary objectAtIndex 上的 SIGABRT : unrecognized selector

ios - 如何从 Storyboard创建的 UITableView 中拉出 UIView?

objective-c - 检查 Objective-C 中是否存在字符串常量

objective-c - Swift 到 Objective-C 中的单例给出未找到 XYZ * 类型的错误属性