Objective-C 2.0属性(Property)介绍

简介:

通常在声明一些成员变量时会看到如下声明方式:

@property (参数1,参数2) 类型 名字;

这里我们主要分析在括号中放入的参数,主要有以下三种:

setter/getter方法(assign/retain/copy)
读写属性(readwrite/readonly)
atomicity(nonatomic)

其中各参数说明如下:

assign
默认类型,setter方法直接赋值,而不进行retain操作
retain
setter方法对参数进行release旧值,再retain新值,如下代码:

 
  1. -(void) setObj:(ClassX*) value  
  2. {  
  3.          if (obj != value)  
  4.          {  
  5.                    [obj release];  
  6.                    obj = [value retain];  
  7.          }  

copy
setter方法进行Copy操作,与retain一样
nonatomic
禁止多线程,变量保护,提高性能
readwrite
产生setter\getter方法
readonly
只产生简单的getter,没有setter。

官方参考文档如下:

http://developer.apple.com/mac/library/documentation/cocoa/Conceptual/ObjectiveC/Articles/ocProperties.html







本文转自 yarin 51CTO博客,原文链接:http://blog.51cto.com/yarin/416353,如需转载请自行联系原作者

相关文章
|
存储 iOS开发 开发者
追根问底:Objective-C关联属性原理分析
Objective-C是一种动态性很强的语言,所谓动态能力,也可以理解为运行时能力。对于Objective-C开发者来说,动态性所带来的编程便利无处不在。例如通过Category类别来扩展已有类的功能。可以使已有类拥有新的方法和属性。
168 0
|
iOS开发
Objective-C中通过下标的方式访问自定义数据模型中属性
Objective-C中通过下标的方式访问自定义数据模型中属性
149 0
|
iOS开发 安全
《Effective Objective-C 2.0》4、Objective-C类的属性
1、属性——property Objective-C的属性用于封装对象之中的数据,其作用同类的数据成员类似,但是所起到的作用远远大于普通的数据成员。
940 0
|
iOS开发
Objective-c官方文档 封装数据属性
版权声明:原创作品,谢绝转载!否则将追究法律责任。   很多对象需要跟踪信息为了执行他们的任务。一些对象设计模型一个或者多个值。例如NSNumber 类用来保存一个值或者自定义的类有一些属性。有一些对象不在一般的范围内。
965 0
|
程序员 iOS开发
Objective-c为什么要有属性
属性:为什么要有属性 。 首先是因为实例变量的安全性和继承能力,如果我们允许被继承,子类要动这些实例变量,我们需要能够参与进来,如果子类设置了某个值,我们需要检查范围,保证不会破坏父类,保证不会破坏父类,所以这是要有属性的首要原因。
683 0
|
iOS开发
Objective-C 属性特性(assign , retain , copy , readonly , readwrite , atomic , nonatomic)
文档地址:Property Declaration Attributes section of the Objective-C Programming Language assign:指定setter方法用简单的赋值,这是默认操作。
797 0
|
iOS开发 C# 网络架构
objective-C 的OOP(下)-类(static)方法、实例方法、overwrite(覆写)、属性(property)
先来定义一个Human父类 定义部分: // // Human.h // OOP // // Created by jimmy.yang on 11-2-9. // Copyright 2011 __MyCompanyName__.
920 0
|
6月前
|
安全 编译器 Swift
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
385 2
|
4月前
|
开发工具 iOS开发 容器
【Azure Blob】关闭Blob 匿名访问,iOS Objective-C SDK连接Storage Account报错
iOS Objective-C 应用连接Azure Storage时,若不关闭账号的匿名访问,程序能正常运行。但关闭匿名访问后,上传到容器时会出现错误:“Public access is not permitted”。解决方法是将创建容器时的公共访问类型从`AZSContainerPublicAccessTypeContainer`改为`AZSContainerPublicAccessTypeOff`,以确保通过授权请求访问。
【Azure Blob】关闭Blob 匿名访问,iOS Objective-C SDK连接Storage Account报错