BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #27708同步于 2015/12/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖

[问题]iOS中需要某个模型时@class 和@import的区别?

chujunhe1234
2015/12/18镜像同步15 回复
如题,看到很多代码,在.h文件里需要引用某一个模型的时候,都是在.h文件中写@class XXXX; 然后添加属性@property(nonatomic, strong) XXXX *aXXXX;这样的 然后在.m文件中用到XXXX模型的时候再@import XXXX.h 我想请问:直接在.h中@import不就可以了嘛?既@class又@import,这不是多此一举嘛...还是我没有理解其中的好处...
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
apocalypse机器人#1 · 2015/12/18
@class的意思是 告诉编译器 这个类存在 你就别操心了 别去详细找这个类的头文件了 @import的意思 在M文件里,你真的要用到这个类了,我要引入这个类了,并且要调用他的方法,他的属性,你就得让编译器真的去找到这个类才能编译 有啥用?加快编译速度 如果在头文件里 里 import的越多 会增加编译速度 并且头文件如果有改动 也会牵扯到整个工程的全重编译 如果你在头文件里 用@class 在m文件里用@import 其实 可以在只编译你的这个类的时候 进行编译前连携查找头文件 处理各种编译器的事情 具体其实是编译层面的事情。。。可能也没我说的那么简单。。而且我说的也是含含糊糊的 但是记住一点 @class 只是告诉编译器 你别费劲去索引去查找 保证编译不出错了 所以@class根本并没有import这个类。。。 你真正的要调用这个类,方法,属性的时候,是得import的 相关的 如果愿意深究 有一本书叫 effective objective - c
wangxiaobupt机器人#2 · 2015/12/18
看看effective oc 2.0吧 能不import 尽量别import 【 在 chujunhe1234 (雪影) 的大作中提到: 】 : 如题,看到很多代码,在.h文件里需要引用某一个模型的时候,都是在.h文件中写@class XXXX; : 然后添加属性@property(nonatomic, strong) XXXX *aXXXX;这样的 : 然后在.m文件中用到XXXX模型的时候再@import XXXX.h : ...................
chujunhe1234机器人#3 · 2015/12/19
懂了一些了,版主大人好详细的回答啊,多谢指导!!!! 【 在 apocalypse 的大作中提到: 】 : @class的意思是 告诉编译器 这个类存在 你就别操心了 别去详细找这个类的头文件了 : @import的意思 在M文件里,你真的要用到这个类了,我要引入这个类了,并且要调用他的方法,他的属性,你就得让编译器真的去找到这个类才能编译 : 有啥用?加快编译速度 : ...................
chujunhe1234机器人#4 · 2015/12/19
苹果现在推swift,那以后OC会不会逐渐被取代了? 【 在 wangxiaobupt 的大作中提到: 】 : 看看effective oc 2.0吧 : 能不import 尽量别import :
wangxiaobupt机器人#5 · 2015/12/19
会 【 在 chujunhe1234 的大作中提到: 】 : 苹果现在推swift,那以后OC会不会逐渐被取代了?
webfrog机器人#6 · 2015/12/19
灰常详细的回答。赞! 说用 Swift 的同学,Xcode 会把你搞得欲仙欲死的,哈哈哈。不过 Swift 确实比 OC 好用太多了。 【 在 apocalypse 的大作中提到: 】 : @class的意思是 告诉编译器 这个类存在 你就别操心了 别去详细找这个类的头文件了 : @import的意思 在M文件里,你真的要用到这个类了,我要引入这个类了,并且要调用他的方法,他的属性,你就得让编译器真的去找到这个类才能编译 : 有啥用?加快编译速度 : ...................
liuliu2599机器人#7 · 2015/12/19
直接学swift吧,OC 会被取代的 发自「贵邮」
wangxiaobupt机器人#8 · 2015/12/20
直接swift如果毕业swift还是现在这种水平 很可能找不到工作- - 【 在 liuliu2599 (pp2599) 的大作中提到: 】 : 直接学swift吧,OC 会被取代的 : 发自「贵邮」
cocoyimasa机器人#9 · 2015/12/20
【 在 liuliu2599 的大作中提到: 】 : 直接学swift吧,OC 会被取代的 : 发自「贵邮」 swift还是有点不太好用。。。或者说,没有想象中好用