ios_oc @property和@synthesize以及属性介绍
来源:互联网 发布:cad网络信息点图标 编辑:程序博客网 时间:2024/06/05 15:17
@property和@synthesize为oc 2.0添加的新特性,自动生成某个类成员变量的存取方法,减少代码冗余,并且更高效。
属性介绍:
readwrit:默认 会自动生成存取器。
assign :主要出来基础类,比如int,float。如果声明基础类,assign是默认的。
@property (nonatomic, assign) NSString* myField
- (NSString*) myField {
return myField;
}
- (void) setMyField: (NSString*) newValue {
myField = newValue;
}
readonly:只生成get方法不生成set方法。
copy:会对对象进行克隆,生成对象的副本。此属性只对那些实行了NSCopying协议的对象类型有效
retain:会自动retain赋值对象,使引用计数+1,具体实现如下:
注意: 把对象添加到数组中时,引用计数将增加对象的引用次数+1。
@property (nonatomic, retain) NSString* myField
- (NSString*) myField {
return myField;
}
- (void) setMyField: (NSString*) newValue {
if (newValue !=myField) {
[myField release];
myField = [newValue retain];
}
}
natomic:默认属性,在多线程情况下会生成一些互斥加锁代码,避免变量的读写不同步的问题。
nonatomic:与natomic相反,编译器少生成一些互斥加锁代码,可以提高效率。
参考:http://blog.csdn.net/mars2639/article/details/7352540
- ios_oc @property和@synthesize以及属性介绍
- iphone 开发中属性 property 和 synthesize 介绍
- iphone 开发中属性 property 和 synthesize 权威的介绍
- iphone 开发中属性 property 和 synthesize 权威的介绍
- iphone 开发中属性 property 和 synthesize 权威的介绍
- iOS开发中属性 property 和 synthesize 权威的介绍
- iOS开发中属性 property 和 synthesize 权威的介绍
- @property和@synthesize以及@property增强
- ios的@property属性和@synthesize属性
- ios的@property属性和@synthesize属性
- ios的@property属性和@synthesize属性
- ios的@property属性和@synthesize属性
- ios的@property属性和@synthesize属性
- ios的@property属性和@synthesize属性
- ios的@property属性和@synthesize属性
- ios的@property属性和@synthesize属性
- 聊聊属性的隐藏@property和@synthesize
- iOS开发 属性(property)和合成(synthesize)
- 浅谈矩阵分解以及应用
- HDOJ 1165 Eddy's research II(数学)
- POJ 动态规划题目列表
- oracle 安装过程中的问题
- Linux init程序分析(续)
- ios_oc @property和@synthesize以及属性介绍
- Oracle中的wmsys.wm_concat
- Android 创建快捷方式图标
- X Window System介绍
- C++子类 父类的相互转换 和 虚函数
- JMF网页视频语音聊天
- 极速理解设计模式系列:2.工厂方法模式(Factory Method Pattern)
- 【Visual Studio】VS2012中利用Visual Assist X添加文件头和函数注释
- 拷贝构造函数