`

Objective-C 的property学习

 
阅读更多

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学习心得初学objective-c,自己写的一个demo,有不足之处请指正: 效果图:

    Swift-Study:Swift学习:从Objective-C到Swift

    #Swift学习: 从Objective-C到Swift 这篇文章是自己学习Swift的笔记与深化。希望这篇文章能够帮助已经有Objective-C经验的开发者更快地学习Swift。同时也品味到Swift的精妙之处。 结论放在开头: 我认为Swift比...

    破解Objective-C面试:笑到最后的技术攻略!.zip

    Objective-C、iOS开发、Mac OS X、编程语言、面向对象编程、内存管理、自动引用计数(ARC)、协议(protocol)、类扩展(category)、键值观察(KVO)、键值编码(KVC)、Block、Delegate模式、多态性、Singleton...

    一步一步学习 iOS 6 编程(第四版)

    第十五部分:Objective-C 基础知识-介绍面向对象的编程 第十六部分:如何在你的 iPhone App 中发送邮件 第十七部分:持续改善 Recipe App 的详细视图控制器 第十八部分:在 iOS 5 中使用 JSON 编程 第十九部分:在.NET ...

    一步一步学习IOS6

    第十五部分:Objective-C基础知识-介绍面向对象的编程 第十六部分:如何在你的iPhone App中发送邮件 第十七部分:持续改善Recipe App的详细视图控制器 第十八部分:在iOS 5中使用JSON编程 第十九部分:在.NET ...

    一步一步学习_iOS_6_编程(第四版)

    第十五部分:Objective-C基础知识-介绍面向对象的编程 第十六部分:如何在你的iPhone App中发送邮件 第十七部分:持续改善Recipe App的详细视图控制器 第十八部分:在iOS 5中使用JSON编程 第十九部分:在.NET ...

    NSCodingHelper:一种使用NSCoding ^ _ ^的简单方法

    #import "property.h" #import "CXLCodingHelper.h" @implementation property - (id)initWithCoder:(NSCoder *)aDecoder { self = [super init]; if (!self) { return nil; } self = [CXLCodingHelper ...

    LSKRoundedProgressView:最小(真正最小

    您可以通过操作以下属性来设置进度值( CGFloat值,范围从 0.0 到 1.0): @property (nonatomic, assign) CGFloat progress;风俗 @property (nonatomic, assign) BOOL clockWise;@property (nonatomic, assign) ...

Global site tag (gtag.js) - Google Analytics