码迷,mamicode.com
首页 > 其他好文 > 详细

OC小实例关于init方法不小心的错误

时间:2015-10-31 17:01:28      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:

正视遇到的每一个错误

在一个遥控器类操控小车玩具的小实例项目中,我采用组合的方式,将遥控器拥有小汽车对象(has a)关系,而不是继承(is a)关系。

想法:将创建小汽车的实例化过程写在遥控器的初始化方法中

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。

然后创建Controller对象的时候,使用[[Controller alloc] init]。结果调用的是父类(Controller extends NSObject)的init方法,所以断点查错查不到,到了某个方法就自动跳出结束了。

正确只要把那个写错的 initWith 改回成 init 方法就可以了。

OC小实例关于init方法不小心的错误

标签:

原文地址:http://www.cnblogs.com/goodboy-heyang/p/4925630.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!