在我的应用程序中,我根据需求使用2-3级的继承,所以我想问的是,在iOS中使用这么多级别的继承是个好主意,在这里内存是很大的约束,这是否会影响性能,而内存呢?因为如果我分配了一个对象,它实际上会分配3个对象,包括Base?
发布于 2013-10-21 08:40:36
假设您有一个类层次结构,如下所示,右边的类是左边类的子类:
NSObject->Subclass1->Subclass2如果然后实例化Subclass2
Subclass2 *instance = [[Subclass2 alloc] init];将只创建一个Subclass2对象。没有为Subclass1和NSObject创建单独的对象。但是,由于Subclass2继承了两个超类中的所有ivars,因此它将分配足够的RAM来存储来自Subclas1和NSObject的ivars。
如果您查看CocoaTouch框架,有许多对象在它们和NSObject之间有几个超类。
当考虑RAM的使用时,比子类拥有的超类数量更重要的是ivars的数量和大小以及您创建的单个对象的数量。
https://stackoverflow.com/questions/19486959
复制相似问题