【问题标题】:How do I check if an object exists at a certain index of an NSMutableArray?如何检查对象是否存在于 NSMutableArray 的某个索引处?
【发布时间】:2012-04-12 04:52:25
【问题描述】:

例如,如何验证索引 3 处是否有项目?

NSArray 中的对象是从“Animal”类实例化的。

【问题讨论】:

    标签: ios objective-c nsarray


    【解决方案1】:

    好吧,既然NSMutableArray 必须保存非零对象,只要数组足够大,您就知道在索引i 处有一些东西

    if ([myArray count] > 3) {
        id myObj = [myArray objectAtIndex:3];
        ...
    }
    

    如果您需要检查其他内容,例如确保它没有引用 NSNull 单例,则可以检查

    if (myObj != [NSNull null]) ...
    

    【讨论】:

      【解决方案2】:

      由于 NSMutableArray 的存储空间中不存在“间隙”,因此如果您的索引小于 [array count],则可以确定该索引处存在对象。

      【讨论】:

      • 它们可能为空,对吧(但这也很容易检查)?
      • 数组中没有 NULL(或 nil),但可以有 NSNull 对象。
      【解决方案3】:

      试试这个代码

      for(int j = 0; j < [yourArray count]; j++)
      {
          if(obj isKindOfClass:[Animal class]]) {
              return
          }
      }
      

      【讨论】:

        猜你喜欢
        • 2011-01-21
        • 2012-12-08
        • 2012-04-21
        • 2011-02-10
        • 2011-09-11
        • 2011-02-09
        • 1970-01-01
        • 2022-10-15
        • 2011-10-11
        相关资源
        最近更新 更多