【发布时间】:2010-04-05 19:04:38
【问题描述】:
我知道您不应该使用它来决定是否更改数组:
if ([possiblyMutable isKindOfClass:[NSMutableArray class]])
但是假设我正在编写一个方法并且需要返回NSMutableArray 或NSArray,这取决于possiblyMutable 的可变性。使用我的方法的类已经知道更改返回的数组是否可以接受。更改返回的数组是否可以接受直接与是否可以更改possiblyMutable 相关。
在那种特定情况下,这段代码安全吗?在我看来,如果不可以接受更改数组,但我们不小心得到了一个可变数组,那没关系,因为使用我的方法的类不会尝试更改它。如果更改数组是可以接受的,那么我们将总是将possiblyMutable 设为NSMutableArray(尽管这是我不完全清楚的部分)。
那么……安全与否?替代品?
【问题讨论】:
-
如果你真的需要一个可变数组,为什么不使用
-mutableCopy?
标签: objective-c cocoa abstract-class nsmutablearray nsarray