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未声明,如上也不会报错,但不建议这么写。