strong 强引用:
所谓强引用就是对对象计数器 +1 操作,多一个对象对该对象强引用,引用计数器就会+1,比如 A 对象对 B 对象强引用,B 对象的引用计数器就会 +1,这样当别的对象对B进行一次释放操作(计数器 -1),B对象也不会被释放。如果你想让引用的对象保证存在,请使用强引用。
弱引用不执行对象的计数器 +1 操作,比如 A 对象对 B 对象弱引用, B 对象的引用计数器不会 +1,若 B 对象计数器减为0,那么 B对象就真的释放了,A 对 B 的引用就会置空。如果你希望对象被释放后不再对它操作,弱引用是最好的选择。
copy一般是对字符串的操作,就是将原对象重新拷贝一份到新的开辟的内存中,因为如果字符串是可变字符串,对它强引用,如果字符串内容改变,那么强引用指针指向的内存中得内容也会改变。一般我们对字符串的引用都是希望使用当前字符串的内容,而不是改变之后的内容。
说点题外话,在这前一晚,姚贝娜的死讯传来,虽然说我挺喜欢听音乐啥的,但是对歌手从来都是一知半解,昨晚之前姚贝娜这个名字几乎都从未在我的记忆力停留过,但昨晚消息传出开始,从周围人对姚贝娜之死的各种扼腕惋惜,泣不成声的悲鸣中,我用了短短一天的时间,对姚贝娜有了360度的全方位认识,突然我意识到了一些问题。
第一,我们大多数人,往往都是等到身边的人或物失去的时候,才知道她的珍贵,比如毕加索,生前几乎一文不名,死后却成了腰缠万贯的土豪,可是有什么用呢?比如很多人都说好男儿志在四方,足遍五川,最终却子欲养而亲不待,遗憾终生,可是有什么用呢?
第二,一部分人都对姚贝娜的死感到可惜是因为他们真的喜欢姚贝娜的歌,或者喜欢姚贝娜本身,但是不排除有盲目随从的人。这类人往往缺乏主见,见周围人做什么,他就着急了,就想去凑个热闹,装个潮流。
第三,就是时下的媒体了,当你在为一个你尊崇的歌手哀悼时,或许有媒体背后正在为明天的头条加班加点,忙的不亦乐乎。
个人观点,不喜勿喷
注:强引用只是对原来对象的引用计数器 +1 ,原对象在内存中依然只有一份,若原对象的内容发生改变,强引用指针指向的内存中的内容也会跟着发生改变。
weak 弱引用
copy 拷贝
@property (nonatomic, copy) NSString * str;
assign:自动放弃内存管理,一般用于基本数据类型和id指针。
第一,我们大多数人,往往都是等到身边的人或物失去的时候,才知道她的珍贵,比如毕加索,生前几乎一文不名,死后却成了腰缠万贯的土豪,可是有什么用呢?比如很多人都说好男儿志在四方,足遍五川,最终却子欲养而亲不待,遗憾终生,可是有什么用呢?
第二,一部分人都对姚贝娜的死感到可惜是因为他们真的喜欢姚贝娜的歌,或者喜欢姚贝娜本身,但是不排除有盲目随从的人。这类人往往缺乏主见,见周围人做什么,他就着急了,就想去凑个热闹,装个潮流。
第三,就是时下的媒体了,当你在为一个你尊崇的歌手哀悼时,或许有媒体背后正在为明天的头条加班加点,忙的不亦乐乎。
个人观点,不喜勿喷