我知道你不应该使用这个来决定是否要更改数组:假设有关NSMutableArray/NSArray类集群的安全性是什么?
if ([possiblyMutable isKindOfClass:[NSMutableArray class]])
但是说我正在写一个方法,需要在回报的NSMutableArray
或NSArray
,取决于易变性possiblyMutable
。使用我的方法的类已经知道是否可以更改返回的数组。是否可以改变返回的数组直接与是否可以改变possiblyMutable
相关。
在这种特定情况下,此代码是否安全?在我看来,如果它是而不是可以接受更改数组,但我们意外地得到了一个可变数组,但没关系,因为使用我的方法的类不会尝试更改它。如果它是可以接受改变阵列,那么我们将总是得到possiblyMutable
作为NSMutableArray
(虽然这是我不完全清楚的部分)。
那么......安全还是不安全?备择方案?
如果你确实需要一个可变数组,那么为什么不使用'-mutableCopy'? – kennytm 2010-04-05 19:07:50