如果初始化器返回错误类的对象会发生什么?

时间:2016-04-04 06:21:56

标签: objective-c initialization initializer object-initializers

假设我有一个Objective-C类,它打算成为一个单例 - 它的init方法检查是否已经是该类的实例并返回它。

现在假设你有两个这个类的子类,A和B,你可以这样做:

[[A alloc] init];
[[B alloc] init];

现在,当B的初始化调用超级初始化时,后者返回A.当B的初始化尝试设置B的iv时会发生什么,因为自身实际上是一个?它会破坏内存,为对象指针分配int等吗?

将消息发送到仅在B中定义的对象时会发生什么?我假设你会得到一个运行时错误,说选择器不存在。正确的吗?

0 个答案:

没有答案