iOS 5中的strong和weak关键字

转载 2013年12月02日 18:20:43

iOS 5 中对属性的设置新增了strong 和weak关键字来修饰属性(iOS 5 之前不支持ARC)

strong 用来修饰强引用的属性;

@property (strong) SomeClass * aObject; 
对应原来的 
@property (retain) SomeClass * aObject; 和 @property (copy) SomeClass * aObject; 

weak 用来修饰弱引用的属性;
@property (weak) SomeClass * aObject; 
对应原来的 
@property (assign) SomeClass * aObject; 

__weak, __strong 用来修饰变量,此外还有 __unsafe_unretained, __autoreleasing 都是用来修饰变量的。
__strong 是缺省的关键词。
__weak 声明了一个可以自动 nil 化的弱引用。
__unsafe_unretained 声明一个弱应用,但是不会自动nil化,也就是说,如果所指向的内存区域被释放了,这个指针就是一个野指针了。
__autoreleasing 用来修饰一个函数的参数,这个参数会在函数返回的时候被自动释放。

引申阅读:
Beginning ARC in iOS 5 Tutorial Part 1:http://www.raywenderlich.com/5677/beginning-arc-in-ios-5-part-1
ARC简介:http://blog.csdn.net/nicktang/article/details/6887569

iOS基础:strong属性与weak属性的区别

一、简介 ARC是自iOS 5之后增加的新特性,完全消除了手动管理内存的烦琐,编译器会自动在适当的地方插入适当的retain、release、autorelease语句。你不再需要担心内存管理,因为...
  • gongwutianya
  • gongwutianya
  • 2016年04月01日 08:26
  • 2886

浅析objective-c中的strong和weak

在才开始学习oc时,搞不懂什么时候用strong,什么时候用weak,经过一段时间的学习,我谈谈我对strong和weak的理解。 首先strong和weak这两个关键字是用来修饰变量,表示这个变量是...
  • u012046379
  • u012046379
  • 2016年03月09日 23:42
  • 2705

iOS ARC机制weak和strong

转自:http://blog.sina.com.cn/s/blog_801997310101a72g.html 觉得此文超级好。 写在开头 虽然距离WWDC201...
  • primer_programer
  • primer_programer
  • 2013年11月07日 01:03
  • 7563

iOS中assign,copy,retain之间的区别以及weak和strong的区别

@property (nonatomic, assign) NSString *title;  什么是assign,copy,retain之间的区别?  assign: 简单赋值,不更改索...
  • getchance
  • getchance
  • 2014年12月28日 13:26
  • 23020

iOS开发笔记之五十七——__weak与__strong是如何解决循环引用的

当我们写一个block时,如果你的block涉及被self持有以及需要访问self的成员时,循环引用问题由此产生。解决的办法也很简单,其中利用__weak与__strong是常见的手段,类似代码如下:...
  • lizitao
  • lizitao
  • 2017年02月03日 13:55
  • 1668

iOS中strong和weak的区别

在iOS的开发中,像我一样学习OC的很多初学者会遇到的问题是不能理解strong和weak的区别,也就不知道该在什么时候选择strong或者weak。首先,一句话说明两者的区别。strong持有对象,...
  • David2427
  • David2427
  • 2015年08月27日 13:39
  • 1327

IOS 5中的strong和weak关键字

在Apple推出IOS 5后,就新增了很多功能,在开发中也一样,比如storyboard,个人觉得这真是个非常好的创新和工具,大大简化了开发,同时也更加生动。 今天将谈谈IOS 5中新增的stron...
  • tangren03
  • tangren03
  • 2012年07月15日 11:08
  • 3770

iOS 属性中strong,weak,assign,retain,copy等特性

iOS 内存管理 属性中strong,weak,assign,retain,copy特性的学习
  • a380880304
  • a380880304
  • 2015年09月06日 11:00
  • 2656

iOS中assign与weak,retain与strong的区别

以前在没有ARC的时候我们使用assign与retain来修饰属性,后来引入了更安全的weak和strong来修饰属性assign与weak 两者都是弱引用,assign通常用于普通类型属性(如in...
  • u014041012
  • u014041012
  • 2017年02月26日 11:40
  • 1144

iOS中 property中的属性strong 、weak、copy 、assign 、retain 、unsafe_unretained 与autoreleasing区别和作用详解

iOS5中加入了新知识,就是ARC,因为习惯了自己管理内存。但是学习还是很有必要的。 在iOS开发过程中,属性的定义往往与retain, assign, copy有关,我想大家都很熟...
  • QueenlySun
  • QueenlySun
  • 2016年09月27日 16:27
  • 3640
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS 5中的strong和weak关键字
举报原因:
原因补充:

(最多只允许输入30个字)