原文:NSString属性声明中的copy和retain区别

前几天去面试,被问到了NSString属性声明中的copy和retain具体区别,对内存计数的影响,汗,当时没整明白,也没答出来,只知道NSString一般用copy. 首先做以下几个变量声明: property retain, nonatomic NSString retainStr property copy, nonatomic NSString copyStr property retai ...

2012-10-12 13:53 0 9723 推荐指数:

查看详情

iOS的属性声明retain和strong的区别

  声明属性时用strong或者retain效果是一样的(貌似更多开发者更倾向于用strong)。不过在声明Block时,使用strong和retain会有截然不同的效果。strong会等于copy,而retain竟然等于assign!   当然定义Block还是应该用copy(还有其他需要 ...

Wed May 25 21:15:00 CST 2016 0 4303
assign、retaincopy区别

一、assign属性   当数据类型为int、float等原生类型时,可以使用assign,否则可能导致内存泄露。例如当使用malloc分配了一块内存,并把它的地址赋值给了指针a,后来如果希望指针b也共享这块内存,于是讲a赋值给(assgin)b。这时就用到了assgin,此时a和b指向同一 ...

Thu Jul 05 14:54:00 CST 2012 0 5581
nonatomic,assign,copyretain区别

nonatomic:非原子性访问,不加同步,多线程并发访问会提高性能。如果不加此属性,则默认是两个访问方法都为原子型事务访问。 (atomic是Objc使用的一种线程保护技术,基本上来讲,是防止在写未完成的时候被另外一个线程读取,造成数据错误。而这种机制 ...

Thu Mar 01 18:05:00 CST 2012 0 4598
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM