gpt4 book ai didi

ios - 与 NSMutableArray 相比,我可以修改 NSArray 中的数据吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:08:47 24 4
gpt4 key购买 nike

我发现很多关于 NSMutableArrayNSArray 的讨论。这很有趣,我知道你不能在 NSArray 中添加或删除对象

但是否可以更改 NSArray 中的对象?

我的意思是,如果我有一个 NSNumberNSArray,我可以更改 NSArray 中的 NSNumber或者我应该使用 NSMutableArray 来修改 NSArray 中对象的值吗?

最佳答案

NSArray 不允许您交换元素(也不能添加或删除它们)。如果你有一个 NSArraymutable 对象,比如说 NSMutableString 你可以在不改变数组的情况下修改对象。

由于 Cocoa 不包含 NSNumber 的可变变体,因此您不能对数字对象执行此操作。

例子:

// immutable array, immutable elements: no way to change anything.
NSArray *array1 = @[@1, @2, @3];

// immutable array of mutable elements:
NSArray *array2 = @[[@"1" mutableCopy], [@"2" mutableCopy], [@"3" mutableCopy]];
NSLog(@"Step 1: %@", array2); // prints "1, 2, 3"

// now we change one of the elements of the immutable array:
[array2[0] appendString:@".1"];
NSLog(@"Step 2: %@", array2); // prints "1.1, 2, 3"

长话短说:

Can i modify data inside an NSArray?

是的。

关于ios - 与 NSMutableArray 相比,我可以修改 NSArray 中的数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14753861/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com