- 浏览: 3435847 次
- 性别:
- 来自: China
文章分类
- 全部博客 (536)
- ajax (1)
- Algorithm (14)
- Android (40)
- CSS/HTML... (2)
- defy (3)
- DesignPattern (2)
- dorado (0)
- Drools (6)
- English/日本語 (7)
- Flex (2)
- Framework (0)
- Google (3)
- hibernate (13)
- homework (3)
- HTML5 (0)
- IDE (29)
- java (45)
- javaee (7)
- Javascript (14)
- java组件 (5)
- jQuery (4)
- jsp (8)
- jsf (2)
- Linux (2)
- lucene (0)
- mysql (6)
- news (3)
- Oracle (8)
- other (4)
- PHP (5)
- Python (0)
- Software Engineering (3)
- spring (7)
- struts1.x (14)
- struts2.x (14)
- strolling in cloud (1)
- subject:javaEnhance (20)
- Tomcat (7)
- validator (3)
- 学习·方法·心得 (8)
- .NET (2)
- vba (6)
- groovy (5)
- grails (2)
- SWT (0)
- big data (1)
- perl (1)
- objective-c (50)
- product (1)
- mac (7)
- ios (188)
- ios-phone (2)
- ios-system (15)
- ios-network (5)
- ios-file (4)
- ios-db (1)
- ios-media (3)
- ios-ui (27)
- ios-openSource (6)
- ios-animation (5)
- ios-drawing (7)
- c (2)
- ios-app (2)
- ios-course (15)
- ios-runtime (14)
- ios-code (8)
- ios-thread (8)
- ios-LBS (2)
- ios-issue (1)
- ios-design (2)
- Jailbreak (2)
- cocos2d (0)
- swift (16)
- ios-framework (4)
- apple watch (4)
- ios-web (1)
- react native (3)
- TVOS (1)
- OpenGL (1)
最新评论
-
xiaobinggg:
...
Session机制详解 -
菜鸟学生会:
Drools规则工作流引擎开发教程网盘地址:http://pa ...
Drools入门-----------环境搭建,分析Helloworld -
wangyudong:
不是很好用,不支持自动化测试RESTful API,也不支持自 ...
Simple REST Client POST使用方法 -
Paul0523:
很棒的一篇文章,感谢楼主分享
Session机制详解 -
啸笑天:
获取原型对象的三种方法<script>functi ...
复习JavaScript面向对象技术
上一回我们学到了一些ARC的基本概念,这一次我们来看看ARC对@property的使用规则有何影响。
所有者属性
我们先来看看与所有权有关系的属性,关键字间的对应关系。
strong | __strong | 有 |
weak | __weak | 无 |
unsafe_unretained | __unsafe_unretained | 无 |
copy | __strong | 有 |
assign | __unsafe_unretained | 无 |
retain | __strong | 有 |
该属性值对应 __strong 关键字,即该属性所声明的变量将成为对象的持有者。
该属性对应 __weak 关键字,与 __weak 定义的变量一致,该属性所声明的变量将没有对象的所有权,并且当对象被破弃之后,对象将被自动赋值nil。
并且,delegate 和 Outlet 应该用 weak 属性来声明。同时,如上一回介绍的 iOS 5 之前的版本是没有 __weak 关键字的,所以 weak 属性是不能使用的。这种情况我们使用 unsafe_unretained。
等效于__unsafe_unretaind关键字声明的变量;像上面说明的,iOS 5之前的系统用该属性代替 weak 来使用。
与 strong 的区别是声明变量是拷贝对象的持有者。
一般Scalar Varible用该属性声明,比如,int, BOOL。
该属性与 strong 一致;只是可读性更强一些。
读写相关的属性 (readwrite, readonly)
读写相关的属性有 readwrite 和 readonly 两种,如果使用ARC之后,我么需要注意一下 readonly 属性的使用。
比如下面的变量声明。
@property (nonatomic, readonly) NSString *name;
一般声明为 readonly 的变量按理说应该不需要持有所有权了,但是在ARC有效的情况下,将出现下面的错误信息 :
“ARC forbids synthesizing a property of an Objective-C object with unspecified ownership or storage attribute”
如果定义了ARC有效,那么必须要有所有者属性的定义;所以我们的代码改成这样,就OK了
@property (nonatomic, strong, readonly) NSString *name;
不过有一点,Scalar Varible的变量缺省都有 assign 的属性定义,所以不需要给他们单独的明示声明了。
from http://www.yifeiyang.net/development-of-the-iphone-simply-2/
发表评论
-
NSValue对任何结构体,基本类型,指针的封装
2015-08-28 09:56 4047任何结构体: 一个NSValue对象是用来存 ... -
IBInspectable / IBDesignable
2015-08-20 21:21 1676感谢:http://nshipster.cn/ibinsp ... -
Nullability and Objective-C
2015-06-18 15:59 1918https://developer.apple.com/s ... -
枚举类型 enum,NS_ENUM,NS_OPTIONS
2014-12-07 23:07 1483一般情况下,我们采用C风格的enum关键字可以定义枚举类型。 ... -
类生成字典
2014-12-07 01:18 1232-(NSDictionary *)toDict ... -
Objective-C Runtime 成员变量与属性
2014-12-06 23:49 2834习题内容 下面代码会? Compile Error / ... -
消息 和 Category
2014-12-06 23:37 1389习题内容 下面的代码会?Compile Error / ... -
对象&类&元类(Object & Class & Meta Class)
2014-12-06 22:34 5639作为C语言的超集,面向对象成为Objective-C与C语 ... -
Self & Super
2014-12-06 21:59 3737在 Objective-C 中的类实现中经常看到这两 ... -
Objective-C Runtime
2014-12-06 18:31 31668Objective-C Runtime 本文详细整理 ... -
Objective C 中的nil,Nil,NULL和NSNull理解
2014-11-26 14:26 1800ObjC 里面的几个空值符号经常会差点把我 ... -
《Effective Objective C 2.0》笔记
2014-10-21 13:36 2559第1章 熟悉objective-c 1 ... -
nil/Nil/NULL/NSNull
2014-04-11 16:47 0理解“不存在”的概 ... -
Objective-C 的“多继承”
2014-03-28 23:18 1553当单继承不够用,很难为问题域建模时,我们通常都会直接想到多 ... -
ios7 JavaScriptCore.framework
2014-03-26 01:19 29966以前想要oc调用js代码一般是通过uiwebview的st ... -
Objective C运行时(runtime)技术的几个要点总结
2014-02-20 10:09 14463from:http://www.cnblogs.com/g ... -
Method Swizzling
2014-02-20 10:11 3512Thx: http://esoftmobile.com/2 ... -
(译)Objective-C的动态特性
2014-02-20 10:09 2870过去的几年中涌现了大量的Objective-C开发者。有些 ... -
Associated Objects
2014-02-20 10:09 5439本文翻译自NSHipster的 ... -
兼容acr和非arc的宏定义
2013-11-16 16:08 0/**************** Support both ...
相关推荐
深入浅出iPhone/iPad开发(第2版)是HeadFirst系列图书的一本最新力作。全书通过轻松的图文方式,由浅入深地向读者...《深入浅出iPhone/iPad开发(第2版)》面向各层次的苹果产品开发人员,尤其适合初学的开发者阅读使用。
知名的Head First系列丛书之一,风格与其他Head First系列一脉相承,一定能让读者轻松学会iPhone开发,《深入浅出iPhone开发》是针对iPhone开发的初学者设计的,以几个应用实例的开发为例,循序渐进地对iPhone开发的...
《深入浅出iPhone开发》,本书是针对iPhone开发的初学者设计的,以几个应用实例的开发为例,循序渐进地对iPhone开发的各个方面进行了讲解。
深入浅出iPhone/iPad开发(第2版)》是HeadFirst系列图书的一本最新力作。全书通过轻松的图文方式,由浅入深地...《深入浅出iPhone/iPad开发(第2版)》面向各层次的苹果产品开发人员,尤其适合初学的开发者阅读使用。
[深入浅出iPhone开发(中文版)].(丹皮洛内),iphone开发
《深入浅出iPhone/iPad开发(第2版)》是HeadFirst系列图书的一本最新力作。全书通过轻松的图文方式,... 《深入浅出iPhone/iPad开发(第2版)》面向各层次的苹果产品开发人员,尤其适合初学的开发者阅读使用。
深入浅出iPhone/iPad开发(第2版),中文完整扫描版
《软件创富密码:iPhone应用程序开发攻略之深入浅出Objective-C2.0(适用于ios4)》系统地介绍了关于使用Objective-C2.0开发iPhone应用程序的基础知识,涵盖各种开发工具的操作技巧、框架(Framework)内部的工作原理...
《软件创富密码:iPhone应用程序开发攻略之深入浅出Objective-C2.0(适用于ios4)》系统地介绍了关于使用Objective-C2.0开发iPhone应用程序的基础知识,涵盖各种开发工具的操作技巧、框架(Framework)内部的工作原理...
《深入浅出iPhone开发》,本书是针对iPhone开发的初学者设计的,以几个应用实例的开发为例,循序渐进地对iPhone开发的各个方面进行了讲解。
深入浅出iPhone Pad开发 第2版 谁玩APPLE的东东。
《深入浅出iPhone开发》,本书是针对iPhone开发的初学者设计的,以几个应用实例的开发为例,循序渐进地对iPhone开发的各个方面进行了讲解。
《深入浅出iPhone开发》,本书是针对iPhone开发的初学者设计的,以几个应用实例的开发为例,循序渐进地对iPhone开发的各个方面进行了讲解。
《iPhone应用程序开发攻略之深入浅出Objective-C 2.0》.(王志刚
深入浅出 phonegap 代码。 phonegap提供快速开发安卓、wp、iphone、webos、塞班等移动平台的开发包,常用功能的软件,能保证一处开发,多平台通用。
这是最为经典的东南大学出版社的《深入浅出设计模式》的第一章策略模式的ios软件实现! 陆续我还会将其余章源代码与大家分享。