规范思路问题

//

在注释前要留有空格,与注释语句也要留有空格
例:
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;
}

你可能感兴趣的:(问题)