代码之家  ›  专栏  ›  技术社区  ›  Doug Smith

如果我想确保我返回的NSMutableArray仅被视为NSArray,那么复制是我应该使用的吗?演员?

  •  0
  • Doug Smith  · 技术社区  · 11 年前

    所以我在用 NSUserDefaults 我想确保我能 NSArray 而不是 NSMutableArray 。我正在处理一个 NS可变阵列 然而,在保存它之前,我想知道我最好如何保存它。

    我应该这样做吗 setObject:[mutableArray copy] ? 或 [setObject:(NSArray *)mutableArray] ? 第三种选择?

    我倾向于 copy ,因为它似乎是 mutableCopy 然而,在ARC之前,副本不是被广泛用于不同的用途吗?我想 复制 调用时 autorelease 现在仍然流行,用于一些不同的东西。

    1 回复  |  直到 11 年前
        1
  •  3
  •   Ramy Al Zuhouri    11 年前

    NSUserDefaults 已保存 NSArray ,即使你通过了 NSMutableArray .

    对于其他情况, copy 使用ARC非常方便。此外,你不需要石膏,因为 NS可变阵列 指针,多态性与 不可变数组 指针(但不是反之)。