代码之家  ›  专栏  ›  技术社区  ›  AndersK

数组与数组

  •  1
  • AndersK  · 技术社区  · 14 年前

    这可以练习吗?

    NSArray* myarray[3] = {nil,nil,nil}
    
    ...
    
    myarray[0] = some NSArray
    

    还是总的说来还是坚持不安全计划更好?

    NSArray* myarray = [NSArray...] ?
    ...
    [myarray addObject:..]
    
    2 回复  |  直到 14 年前
        1
  •  2
  •   bbum    14 年前

    取决于你的需要。无论哪种方法都有效,但我通常会发现混合使用Objective-C对象和C结构会导致疯狂,因为您必须在两个不同的内存模型上保持清醒:retain/release和malloc/free。

    我通常也完全避免使用多维数组。例如,一个3x4数组可以表示为一个包含12个项的单个数组。2,3处的项实际上是(2+(3*宽度))。

    注意,NSarray不能有“洞”。如果需要,可以用nsnull对象表示孔。或者创建允许孔的ns[可变]数组的子类。

        2
  •  0
  •   vodkhang    14 年前

    我会选择第二个,因为在我看来,NSARRAY已经封装了一些高级技术来帮助你。

    这取决于你的需要,如果你想做一些复杂的事情,需要内置的数据结构和算法,我想你可以选择NSarray。

    我尽量避免在两种编程语言c和obj-c之间混用。