这个问题催生了这个问题.使用可可中的结构列表并不简单.使用NSArray和编码/解码,或使用C类型数组并丢失NSArray的商品.结构应该是简单的,但是当需要列表时,人们倾向于构建一个类.
何时使用结构列表在可可中有意义?
我知道关于结构与类的问题已经有很多问题了,我读过用户认为它对每种语言都是相同的答案,但至少可可应该有自己的特定答案,如果只是因为KVC或绑定(如彼得在第一个问题上建议).
Cocoa有一些常见的类型是结构,而不是对象:NSPoint,NSRect,NSRange(和它们的CG对应物).
如果有疑问,请跟随Cocoa的领先.如果您发现自己正在处理大量小的,主要是数据对象,那么您可能希望为了提高效率而使它们成为结构体.
使用NSArray/NSMutableArray作为顶级容器,并将结构包装在NSValue中可能会让您的生活更轻松.如果您发现NSArray是性能瓶颈,或者如果阵列基本上是只读的,我只会转到直接的C型数组.