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


    正视遇到的每一个错误

    在一个遥控器类操控小车玩具的小实例项目中,我采用组合的方式,将遥控器拥有小汽车对象(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 方法就可以了。

  • 相关阅读:
    NX二次开发-UF_MODL_ask_angle_tolerance获取建模的角度公差
    NX二次开发-UF_MODL_create_bplane创建有界平面
    NX二次开发-UF_MODL_ask_point_containment获取一个点是在体(面,边)的边界内部,外部,还是边界上
    NX二次开发-UFUN获取相邻面UF_MODL_ask_adjac_faces
    NX二次开发-UFUN链表UF_MODL_create_list等用法
    NX二次开发-UFUN发射线函数UF_MODL_trace_a_ray的用法
    NX二次开发-Ufun C函数例子目录【更新日期2020.7.5】
    NX二次开发-C++time函数计时
    NX二次开发-C++的vector用法
    关于C++里set_intersection(取集合交集)、set_union(取集合并集)、set_difference(取集合差集)等函数的使用总结
  • 原文地址:https://www.cnblogs.com/goodboy-heyang/p/4925630.html
Copyright © 2020-2023  润新知