OC基础
1.OC弱语法(OC基于C语言,本质是面向过程的,经过苹果包装看起来是面向对象的)
//unrecognized selector sent to instance #不能识别的消息
//经典的错误之一
2.类方法和对象方法
<1>类方法
+ (void) run;
以+号开头,由类调用,不能访问实例变量,执行效率高。
[Person run]; #类调用,系统会认为是run是类方法,会到类中找+开头的run方法
<2>对象方法
- (void) test2;
Person *p = [Person new];
以-开头,由对象调用,能访问实例变量。对方方法内可以调用类方法。
[p test2]; #对象调用,系统会认为test2是对象方法,会到类中找以-开头的test2方法
对象方法和类方法可以同名。
#类方法的好处:不依赖于对象,执行效率高
#方法内部不还有成员变量的话,可以将其设置为类方法,执行效率高
3.self用法
是指针,指向方法调用者。
self->_age = 10;
[self bark];