在我的应用程序中,我根据要求使用了 2-3 级继承,所以我想问一下在 iOS 中使用这么多级继承是个好主意,其中内存是很大的限制,这是否会影响性能以及内存呢因为如果我实际上分配 1 个对象,它将分配 3 个对象,包括 Base?
问问题
1269 次
1 回答
0
假设您有一个如下的类层次结构,其中右侧的类是左侧的子类:
NSObject->Subclass1->Subclass2
如果你然后实例化Subclass2
Subclass2 *instance = [[Subclass2 alloc] init];
只会创建一个 Subclass2
对象。Subclass1
为和NSObject
不创建单独的对象。由于Subclass2
继承了两个超类的所有 ivars,但是,它将分配足够的 RAM 来存储来自 Subclas1 和 NSObject 的 ivars。
如果你看一下 CocoaTouch 框架,有很多对象在它们和 NSObject 之间有几个超类。
在考虑 RAM 使用时,比子类拥有的超类数量更重要的是 ivars 的数量和大小以及您创建的单个对象的数量。
于 2013-10-21T08:40:36.617 回答