当重新覆盖父类的init方法时,需要调用[super init]方法确认父类中的init是返回一个实例,而不是一个空的实例. 那为什么要调用这个呢? 我得猜测是这样的:因为这是一个初始化方法,需要对对象实例进行初始化,当你覆盖父类的初始化方法时,编辑器就会优先使用你的方法而不再理会父类的初始化方法,这样就会造成你的初始化方法无法完整的对对象实例进行初始化. 其他人的解释是这样的: 1. [super init]的作用: 面向对象的体现,先利用父类的init方法为子类实例的父类部分属性初始化. 2…