• 规范思路问题


    //

    在注释前要留有空格,与注释语句也要留有空格
    例:
    int _wheels;  // 轮指数

    =
    赋值符号左右两边都要留有空格
    例:
    _wheels = wheels;
     
    .m文件中添加头文件都要用#import

    相似类方法的的声明或实现放在一起。
    例:
    - (void)setX:(int)x;
    - (int)x;
     
    - (void)setX:(int)x;
    - (int)x; 

    写方法判断返回“是否”BOOL类型,方法名一般以is开头
     
    只有类名调用类方法时不需要在类的后面写*
    其他情况下,类名后面都要加*
     
    #import与#include中不要放.m文件,若多文件(.m)一起编译,会出现重复错误,仅仅只需编译包含主函数的文件,与Xcode运行形势不符
    声明可以重复,实现不可以重复。

    在做题中要注意思路的归纳与总结,对于相似的步骤与思路要想一下,是否可以通过调用的方式减少重复的无用功,
    例:求两点之间的距离用类方法实现
              对象方法实现与其他点得距离
    [p1 distanceWithOther:other]
    [Point2D distanceBetweenPoint1:self andPoint2:other];
     
    可通过调用彼此达到目的(必须在一个中实现)
    注意:Point2D中的“D”是大写

    对对象不理解造成的误区。
    在声明中
    - ( voit)setPoint:(Point2D *)point;
    实现中的
    - ( voit)setPoint:(Point2D *)point
    {
        [_point setX:[point x]];
    //错误,因为此时_point = nil;
    //还未指向任何Point2D对象,对其操作相当于对nil操作,没有任何作用。 
    }

    初始化方法与便利构造器(用类进行初始化)
    初始化方法
    - (id)initWithName:(NSString *)name andSex:(NSString *)sex andAge:(int)age andCourse:(NSString *)course
    {
        if (self = [super init])
        {
            _name = name;
            _sex = sex;
            _age = age;
            _course = course;
        }
        return self;
    }
    便利构造器 
    + (Teacher *)initWithName:(NSString *)name andSex:(NSString *)sex andAge:(int)age andCourse:(NSString *)course
    {
    //    Teacher *teacher = [[Teacher alloc] initWithName:name andSex:sex andAge:age andCourse:course];
        
        Teacher *teacher = [[[self class] alloc]initWithName:name andSex:sex andAge:age andCourse:course];
        return
     teacher;
    }
  • 相关阅读:
    Kaggle & Machine Learning
    练习题目总结
    日常练习//算法类
    论文阅读
    codeforces专项
    10.26—11.1
    常见算法笔记
    DM/ML学习实践(一)
    Python常见代码
    HDU 4251 --- 主席树(划分树是正解)
  • 原文地址:https://www.cnblogs.com/Alling/p/3971904.html
Copyright © 2020-2023  润新知