Objective -C 2.0 中,
在接口文件中,即后缀名是.h的文件中,使用@property来标识属性(一般是实例变量);
在实现文件中,即后缀名是.m的文件中,使用@synthesize来标识所声明的 属性,让系统自动生成setter和getter方法
下面是一个例子程序:
说明:从上面的例子中,我们明明没有定义setIntX和setIntY方法,却可以使用他们 ,这就是使用property的好处,是不是比写setter,getter方法方便多了啊 ...嘻嘻
属性列表中的各个常用属性值及其含义:
属性 含义
assign 使用简单赋值语句为实例变量设置值
copy 使用copy方法设置实例变量的值
noneatomic 直接返回值。若没有声明该属性,那么就是atomic属性,挤兑实例变量的存储是互斥锁定的。在没有垃圾回收的环境下,系统retain这个实例变量,并设置
autorelease 然后才返回值
readonly 不能设置实例变量的值,编译器不生成setter'方法
readwrite 可以获取并设置实例变量的值。在实现类文件中,使用@synthesize,编译器自动产生setter和getter方法,如上面的例子中就是这种情况
retini 在赋值的时候执行retain(保持)操作
getter = name setter方法使用name制定的名称,而不是实例变量的名称
setter = name getter方法使用name制定的名称,而不是实例变量的名称
好困啦,洗洗睡了。明天再接着学习Objective-C的基础语法吧。
分享到:
相关推荐
Objective-C学习心得初学objective-c,自己写的一个demo,有不足之处请指正: 效果图:
#Swift学习: 从Objective-C到Swift 这篇文章是自己学习Swift的笔记与深化。希望这篇文章能够帮助已经有Objective-C经验的开发者更快地学习Swift。同时也品味到Swift的精妙之处。 结论放在开头: 我认为Swift比...
Objective-C、iOS开发、Mac OS X、编程语言、面向对象编程、内存管理、自动引用计数(ARC)、协议(protocol)、类扩展(category)、键值观察(KVO)、键值编码(KVC)、Block、Delegate模式、多态性、Singleton...
第十五部分:Objective-C 基础知识-介绍面向对象的编程 第十六部分:如何在你的 iPhone App 中发送邮件 第十七部分:持续改善 Recipe App 的详细视图控制器 第十八部分:在 iOS 5 中使用 JSON 编程 第十九部分:在.NET ...
第十五部分:Objective-C基础知识-介绍面向对象的编程 第十六部分:如何在你的iPhone App中发送邮件 第十七部分:持续改善Recipe App的详细视图控制器 第十八部分:在iOS 5中使用JSON编程 第十九部分:在.NET ...
第十五部分:Objective-C基础知识-介绍面向对象的编程 第十六部分:如何在你的iPhone App中发送邮件 第十七部分:持续改善Recipe App的详细视图控制器 第十八部分:在iOS 5中使用JSON编程 第十九部分:在.NET ...
#import "property.h" #import "CXLCodingHelper.h" @implementation property - (id)initWithCoder:(NSCoder *)aDecoder { self = [super init]; if (!self) { return nil; } self = [CXLCodingHelper ...
您可以通过操作以下属性来设置进度值( CGFloat值,范围从 0.0 到 1.0): @property (nonatomic, assign) CGFloat progress;风俗 @property (nonatomic, assign) BOOL clockWise;@property (nonatomic, assign) ...