在Objective-C中管理元组集合
我对Objective-C相当陌生,想知道管理元组集合的最佳方法是什么。在C语言中,我会使用2D数组或结构在Objective-C中管理元组集合,objective-c,cocoa,collections,tuples,Objective C,Cocoa,Collections,Tuples,我对Objective-C相当陌生,想知道管理元组集合的最佳方法是什么。在C语言中,我会使用2D数组或结构 我应该创建包含这些元组的对象吗?仅仅对列表进行排序似乎有些过分,或者对象初始化没有产生真正的额外负载?我认为您必须满足于NSArray对象的NSArray,或者NSDictionary对象的NSArray。你可以随时滚动你自己的课程,或者按照你在C中的方式进行。有几种不同的方法可以实现这一点: CoreData。虽然从技术上讲,它不是一个数据库,但它的行为与数据库非常相似。如果在应用程序运
我应该创建包含这些元组的对象吗?仅仅对列表进行排序似乎有些过分,或者对象初始化没有产生真正的额外负载?我认为您必须满足于NSArray对象的NSArray,或者NSDictionary对象的NSArray。你可以随时滚动你自己的课程,或者按照你在C中的方式进行。有几种不同的方法可以实现这一点:
在生成对象时肯定会有一些开销。对于少量对象,使用ObjC数据结构仍然合适。如果您有大量元组,我将在结构的C数组中管理它们。请记住,Objective-C实际上只是C。在Objective-C中使用C结构是合适且常见的(在某种程度上,了解该点的位置是成为一名优秀的Objective-C开发人员的一个重要里程碑) 通常对于这种数据结构,我可能会创建一个单一的Objective-C对象来管理整个集合。因此外部调用者将看到Objective-C接口,但内部数据将存储在更高效的C结构中 如果快速访问大量元组是常见的,那么我的集合对象可能会提供类似于
[NSArray getObjects:range://code>的“get”方法。以“get”开头的ObjC方法表示第一个参数是将被该方法覆盖的指针。这通常用于对ObjC对象管理的对象进行高性能的类似C的访问
这种数据结构正是ObjC开发人员将ObjC的优雅和可维护性与C的性能和简单性结合在一起的方式。为什么要使用数据库来创建元组?