用@property聲明的NSString(或NSArray贬循,NSDictionary)經(jīng)常使用copy關(guān)鍵字陶夜,為什么冀泻?如果改用strong關(guān)鍵字常侣,可能造成什么問題?
copy 的目的是為了讓本對象的屬性不受外界影響,使用 copy 無論給我傳入是一個(gè)可變對象還是不可對象,我本身持有的就是一個(gè)不可變的副本.
如果我們使用是 strong ,那么這個(gè)屬性就有可能指向一個(gè)可變對象,如果這個(gè)可變對象在外部被修改了,那么會(huì)影響該屬性.
block使用copy的原因:mrc遺留問題腔长,將block從棧上copy到堆上袭祟;arc已不存在此問題,但依然建議這樣寫