正视遇到的每个错误
在一个遥控器类操控小车玩具的小实例项目中,我采用组合的方式,将遥控器拥有小汽车对象(has a)关系,而不是继承(is a)关系。spa
想法:将建立小汽车的实例化过程写在遥控器的初始化方法中code
Controller.m :对象
1 - (instancetype)initWith 2 { 3 self = [super init]; 4 if (self) { 5 NSLog(@"遥控器初始化建立了"); 6 _car = [[Car alloc] init]; 7 } 8 return self; 9 }
注意:这里的init方法,我不当心写成了initWith方法。原本意图是自定义初始化方法传入参数......忘记改回init。blog
而后建立Controller对象的时候,使用[[Controller alloc] init]。结果调用的是父类(Controller extends NSObject)的init方法,因此断点查错查不到,到了某个方法就自动跳出结束了。继承
正确只要把那个写错的 initWith 改回成 init 方法就能够了。it