這是行不通的嗎?NSArray vs array
NSArray* myarray[3] = {nil,nil,nil}
...
myarray[0] = some NSArray
還是更好地堅持使用NSArray?
NSArray* myarray = [NSArray...] ?
...
[myarray addObject:..]
這是行不通的嗎?NSArray vs array
NSArray* myarray[3] = {nil,nil,nil}
...
myarray[0] = some NSArray
還是更好地堅持使用NSArray?
NSArray* myarray = [NSArray...] ?
...
[myarray addObject:..]
取決於您的需求。無論哪種方式都有效,但我通常會發現,混合使用Objective-C對象和C結構會導致瘋狂,因爲您必須保持兩種不同內存模型的完整性;保留/釋放和malloc/free。
我通常也完全避免多維數組。例如,一個3×4的數組數組可以表示爲一個由12個項目組成的單個數組。 2,3的項目實際上是(2 +(3 *寬))。
請注意,NSArrays不能有「漏洞」。如果需要,您可以使用NSNull對象來表示洞。或者創建允許鑽孔的NS [Mutable]數組的子類。
我會去第二個,因爲在我看來,NSArray已經封裝了一些先進的技術來幫助你。
這取決於你的需求,如果你想做一些複雜的事情,需要內置數據結構和算法,我認爲你可以去NSArray。
我儘量避免在2種編程語言C和obj-C之間混合。
好奇你爲什麼要避免使用多維數組@bbum。不爲他們爭辯,但你是我尊重他人答案的人,我希望更多地瞭解他們爲什麼。 – yabada 2010-08-06 00:51:37
多維數組意味着多個分配,並且假設沒有漏洞,那麼這些多個數組在實現簡單性方面確實不會購買太多。 – bbum 2010-08-06 03:01:24