大部分的时候NSString的属性都是copy,那copy与strong的情况下到底有什么区别呢?比如:@property (retain,nonatomic) NSString *rStr;@property (copy, nonatomic) NSString *cStr;- (void ...
身边一同事,我印象在过去三个月,有两次因为使用 copy 修饰UIKit控件的属性,导致程序崩溃。他还一本正经的说我以前一直使用copy。 好了,到这里我们就不得不说说什么时候使用copy。我的印象中,只有两处使用了copy,即修饰NSString类型与block,其他的都是使用strong关键字修饰。 说到这里,我们先来说说NSString类型,我在创建的NSString类型的属性中,也曾也使用 ...
2017-05-14 20:15 1 3159 推荐指数:
大部分的时候NSString的属性都是copy,那copy与strong的情况下到底有什么区别呢?比如:@property (retain,nonatomic) NSString *rStr;@property (copy, nonatomic) NSString *cStr;- (void ...
父类指针可以指向子类对象 //定义block别名。 typedef void (^LYItemOption)(); @interface LYItemArrow : LYItem @property(nonatomic,strong ...
iOS中copy和strong修饰符的区别 1.当copy的对象类型为不可变对象如NSString类型时,和Strong修饰作用是一样的 //打印信息: str==0x105086190, cpstring==0x105086170 ...
一,retain, copy, assign区别1. 假设你用malloc分配了一块内存,并且把它的地址赋值给了指针a,后来你希望指针b也共享这块内存,于是你又把a赋值给(assign)了b。此时a 和b指向同一块内存,请问当a不再需要这块内存,能否直接释放它?答案是否定的,因为a并不知道b是否 ...
IOS的对象都继承于NSObject, 该对象有一个方法:retainCount ,内存引用计数。 引用计数在很多技术都用到: window下的COM组件,多线程的信号量,读写锁,思想都一样。 (一般情况下: 后面会讨论例外情况) alloc 对象分配后引用计数为1 retain 对象的引用 ...
weak和assign区别 经常会有面试题问weak和assign的区别,这里介绍一下。 weak和strong是对应的,一个是强引用,一个是弱引用。weak和assign的区别主要是体现在两者修饰OC对象时的差异。上面也介绍过,assign通常用来修饰基本数据类型,如int ...
前言 首先说明一下,没接触过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,的确是 ...