美文网首页
为什么要调用[super init]

为什么要调用[super init]

作者: dzhou3 | 来源:发表于2018-06-02 23:56 被阅读0次

    关于 init 的约定还有一个重要部分:这个方法可以(并且应该)通过返回 nil 来告诉调用者,初始化失败了;初始化可能会因为各种原因失败,比如一个输入的格式错误了,或者另一个需要的对象初始化失败了。 这样我们就能理解为什么总是需要调用 self = [super init]。如果你的父类说初始化自己的时候失败了,那么你必须假定你正处于一个不稳定的状态,因此在你的实现里不要继续你自己的初始化并且也返回 nil。如果不这样做,你可能会操作一个不可用的对象,它的行为是不可预测的,最终可能会导致你的程序崩溃。

    相关文章

      网友评论

          本文标题:为什么要调用[super init]

          本文链接:https://www.haomeiwen.com/subject/fgudsftx.html