黑马程序员----Objective-C学习笔记之@property参数
来源:互联网 发布:中京商品交易软件 编辑:程序博客网 时间:2024/05/22 03:27
------Java培训、Android培训、iOS培训、.Net培训--------
1、@property参数
参数包括 1,getter=getterName,setter=setterName,设置setter与getter的方法名,除非你想自己取名,否则一般使用默认的名字即可。以免造成混乱。 2,readwrite,readonly (只生成getter方法),设置可供访问级别的限制。 2,assign,调用setter方法时直接赋值,不进行任何retain操作。 3,retain,调用setter方法时,先release旧值,然后对赋予的新值执行retain,相当于一次指针的拷贝。 4,copy,setter方法进行Copy操作,与retain处理流程一样,先release旧值,再Copy出新的对象,retainCount为1。其实是建立一个新的对象。 5,nonatomic,非原子性访问,不加同步,多线程并发访问会提高性能。atomic是Objc使用的一种线程保护技术,基本上来讲,是防止在写未完成的时候被另外一个线程读取,造成数据错误。而这种机制是耗费系统资源的,所以在iPhone这种小型设备上,如果没有使用多线程间的通讯编程,那么nonatomic是一个非常好的选择。【以上引用自http://m.blog.csdn.net/blog/luohai859/42457963】
【retain】在一个类中有其他对象的(关联对象)的时候会使用retain,【适用于OC对象】
【assign】实例变量是基本数据类型时,是默认值,可以不写
【替换setter方法】
例如:
@property(assign,setter = isVip:,getter = isVip) BOOL vip; Person *p = [Person new]; //替换后该set方法只能这样调用 [p isVip:YES]; //替换后get方法可以有两种调用方式,如下 if ([p isVip]&&p.isVip) { NSLog(@"p is vip"); }
打印结果:
2015-10-06 13:56:50.995 ClassOne[1503:303] p is vip
0 0
- 黑马程序员----Objective-C学习笔记之@property参数
- 黑马程序员----Objective-C学习笔记之@property关键字和@synthesize用法
- Objective-C学习笔记 @property 参数说明
- 【黑马程序员】Objective-C语言学习笔记之小知识点
- 黑马程序员---Objective-C学习笔记之二
- 黑马程序员---Objective-C 学习笔记之三
- 黑马程序员---Objective-C Foundation框架学习笔记之二
- 黑马程序员----Objective-C学习笔记之动态类型检测
- 黑马程序员----Objective-C学习笔记之构造方法
- 黑马程序员----Objective-C学习笔记之autorelease基本使用
- 黑马程序员——Objective-C学习之@property @synthesize和id及点语法
- 黑马程序员---Objective-C学习笔记之一
- 黑马程序员-----@property参数学习
- 黑马程序员---Objective-C @property和@synthesize
- Objective-C学习笔记(2)----Objective-c中@property声明时的参数释疑
- 黑马程序员----Objective-C学习笔记之OC基础练习笔记
- 【Objective-C学习-5】@property参数详解
- 黑马程序员学习笔记_OC之@property和@synthesize
- HTTP协议漫谈
- Node.JS学习笔记: 基础篇
- public static void main(String[] args){}函数
- matlab边缘检测算法汇总2
- Socket所有的网络通信模型详解共享
- 黑马程序员----Objective-C学习笔记之@property参数
- div、p等标签不自动折行
- RenderScript的基础使用
- Log Malicious Discovery tool (Log-MD)
- HDU5416(树DP)
- jQuery源码分析之$.grep()函数四问
- 缺陷报告
- 黑马程序员——OC语言基础---extern和static关键字
- HTTP 协议详解(基础)