黑马程序员技术交流社区
标题:
#import 与 @class, property 与 synthesize的区别
[打印本页]
作者:
-(_)-
时间:
2014-8-4 10:10
标题:
#import 与 @class, property 与 synthesize的区别
这是我在学习过程中记录的小知识, 与大家分享一下
#import 与 @class 的区别:
#import方式会包含被引用类的所有信息,包括被引用类的变量和方法;
@class方式只是告诉编译器在该头文件中,这只是个类的声明.
通常在 .h文件中用@class方式进行类的声明
在 .m文件中用#import来导入类的具体实现
当编译器遇到 @property 时,会自动展开成getter和setter的声明
@property只用在@interface里面,用来声明getter 和 setter
@synthesize用于getter和setter的实现,编译器会自动生成getter与setter的实现
@synthesize默认会去访问跟指定的变量同名的变量.
如果找不到同名的变量,会自动生成一个私有的同名变量.
在Xcode4.5的环境下,可以省略@synthesize var, 并且会默认去访问_var这个成员变量.
如果 找不到_var,这个成员变量,会自动生成一个叫_var的私有成员变量.
作者:
小小菜鸟007
时间:
2014-8-6 11:25
分析的很到位!
作者:
偶太白
时间:
2014-8-8 13:21
赞一个:D
作者:
zhuiyi007
时间:
2014-8-12 15:05
留名,赞一个~~
作者:
卡哇伊
时间:
2014-8-12 16:10
写的很好 顶一个
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2