A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© john-sang 中级黑马   /  2016-8-12 15:44  /  1040 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

1 个回复

正序浏览
有时候 这个指针指向的对象有方法 但是指针的类型类没有方法   编译会报错   这时用 Id 指针,不参加编译!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马