大部分的时候NSString的属性都是copy,那copy与strong的情况下到底有什么区别呢?比如:@property (retain,nonatomic) NSString *rStr;@property (copy, nonatomic) NSString *cStr;- (void ...
问题描述 在定义一个类的property时候,为property选择strong还是copy特别注意和研究明白的,如果property是NSString或者NSArray及其子类的时候,最好选择使用copy属性修饰。为什么呢 这是为了防止赋值给它的是可变的数据,如果可变的数据发生了变化,那么该property也会发生变化。 代码示例 还是结合代码来说明这个情况 interface Person ...
2015-12-13 20:03 0 2034 推荐指数:
大部分的时候NSString的属性都是copy,那copy与strong的情况下到底有什么区别呢?比如:@property (retain,nonatomic) NSString *rStr;@property (copy, nonatomic) NSString *cStr;- (void ...
weak和assign区别 经常会有面试题问weak和assign的区别,这里介绍一下。 weak和strong是对应的,一个是强引用,一个是弱引用。weak和assign的区别主要是体现在两者修饰OC对象时的差异。上面也介绍过,assign通常用来修饰基本数据类型,如int ...
iOS中copy和strong修饰符的区别 1.当copy的对象类型为不可变对象如NSString类型时,和Strong修饰作用是一样的 //打印信息: str==0x105086190, cpstring==0x105086170 ...
前言 首先说明一下,没接触过iOS 4及之前版本编程的人,很可能没用过assign、retain、copy关键字,这是因为iOS 5之后添加了ARC的特性,顺便提出来新的strong、weak关键字。相比而言,weak相当于老版本的assign(基本一致),strong相当于retain(一致 ...
strong,weak,retain,assign,copy nomatic 等的区别 copy与retain:1、copy其实是建立了一个相同的对象,而retain不是;2、copy是内容拷贝,retain是指针拷贝; 3、copy是内容的拷贝 ,对于像NSString,的确是 ...
我们大部分的时候NSString的属性都是copy,那copy与strong的情况下到底有什么区别呢?我们以实例来说明: @property(strong, nonatomic) NSString *strongStr; @property(copy, nonatomic) NSString ...
iOS5中加入了新知识,就是ARC,其实我并不是很喜欢它,因为习惯了自己管理内存。但是学习还是很有必要的。 在iOS开发过程中,属性的定义往往与retain, assign, copy有关,我想大家都很熟悉了,在此我也不介绍,网上有很多相关文章。 现在我们看看iOS5 ...
一、atomic与nonatomic 1.相同点 都是为对象添加get和set方法 2.不同点 atomic为get方法加了一把安全锁(及原子锁),使得方法get线程安全,执行效率慢 ...