.什么是编译检查
编译检查:程序运行之前的检查,就是检查指针定义的类型中是否拥有某个属性和方法
例如:
HMPerson *student = [NSString new]//此时只是编译警告但不会报错,因为OC是弱语言,任意指针可以指向任意对象
[student test]//此时会编译报错,因为HMPerson里没有test这个方法
什么是运行检查:
运行检查:程序运行过程中的检查,就是检查指针指向的对象中是否拥有某个属性和方法
例子:
HMPerson *student = [NSString new]//此时只是编译警告但不会报错,因为OC是弱语言,任意指针可以指向任意对象
[student test]//此时会运行崩溃,因为HMPerson里没有test这个方法 |
|