【问题标题】:How to make an array of strings如何制作一个字符串数组
【发布时间】:2011-07-24 17:11:33
【问题描述】:

我想构建一个字符串数组,每次都可以指向不同的字符串。我看到我可以使用NSArrayNSMutableArray

它们有什么区别?

【问题讨论】:

    标签: iphone objective-c nsmutablearray nsarray


    【解决方案1】:

    直接来自苹果:

    NSArray

    NSMutableArray

    主要区别:

    NSArray 是不可变的,这意味着它一旦创建就无法更改,并且通常比可变的对应物更快并且占用的内存更少。

    NSMutableArray 创建后可以更改。

    除此之外还有更多不同之处,但文档比我做得更好。我还建议在 iTunes 上观看来自斯坦福的免费 IOS 开发讲座。它们深入探讨了不同的数据结构以及如何更深入地使用它们。

    【讨论】:

      【解决方案2】:

      NSMutableArray 可以修改,而 NSArray 在初始化后不能修改(即 addObjects、remove 等) 如果您需要在初始化后添加字符串,请使用可变数组

      【讨论】:

      • 如果我想让他的尺寸我会设置?我需要如何初始化他?
      • 如果你使用的是 NSMutableArray,则不需要用指定的容量来初始化它。但是,您可以使用 initWithCapacity ,它有足够的大小来容纳这个数量的对象。所以你可以使用它们中的任何一个。但是当你处理 NSArray 时,你必须用另一个数组或对象或文件的内容来初始化它。
      【解决方案3】:

      使用NSMutableArray,您可以动态添加和删除对象。
      请参阅: difference-b-w-nsarray-and-nsmutablearray

      您可以通过以下方式对其进行初始化:

      NSMutableArray *ma = [[NSMutableArray alloc]init];
      [ma addObject:myObject];
      

      【讨论】:

      • 如果我想让他的尺寸我会设置?我需要如何初始化他?
      猜你喜欢
      • 1970-01-01
      • 2022-01-17
      • 2017-09-25
      • 2015-09-22
      • 2015-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多