我知道你不應該使用這個來決定是否要更改數組:假設有關NSMutableArray/NSArray類集羣的安全性是什麼?
if ([possiblyMutable isKindOfClass:[NSMutableArray class]])
但是說我正在寫一個方法,需要在回報的NSMutableArray
或NSArray
,取決於易變性possiblyMutable
。使用我的方法的類已經知道是否可以更改返回的數組。是否可以改變返回的數組直接與是否可以改變possiblyMutable
相關。
在這種特定情況下,此代碼是否安全?在我看來,如果它是而不是可以接受更改數組,但我們意外地得到了一個可變數組,但沒關係,因爲使用我的方法的類不會嘗試更改它。如果它是可以接受改變陣列,那麼我們將總是得到possiblyMutable
作爲NSMutableArray
(雖然這是我不完全清楚的部分)。
那麼......安全還是不安全?備擇方案?
如果你確實需要一個可變數組,那麼爲什麼不使用'-mutableCopy'? – kennytm 2010-04-05 19:07:50