Day8 oc弱语法

oc弱语法

oc的方法调用是在运行时才会检测对象有没有实现相应的方法

#import <Foundation/Foundation.h>

//@interface Person:NSObject
//@end

//此处加了:NSObject

@implementation Person:NSObject
- (void)test
{
     NSLog(@"test");
}
@end

int main()
{
     Person *p=[Person new];
     [p test];
     return 0;
}

 若test方法实现注释掉,编译和链接并不会报错;若test方法只声明没有定义,编译和链接也不会报错;只会在运行时报错;若test定义而未声明,编译和链接以及运行都不会报错,但不建议这么写;若Person未声明,如上也不会报错,但不建议这么写。

猜你喜欢

转载自magicbird.iteye.com/blog/2286296