copy和strong一般情況是不可變類型用copy,可變類型用strong,但是根據個人需要而異。
首先,屬性使用copy的時候,特殊的字符串賦值的時候是指針指向,共用同一塊內存。
然而NSArray,NSDictionary,NSSet這些容器類的賦值時,分兩種情況,copy的時候相當于值拷貝,而strong相當于指針指向同一塊內存。故copy的NSArray不會跟著賦值的NSMutableArray值改變而變化,strong的NSArray由于與NSMutableArray公用同一塊內存而跟著改變。
下面圖片為證。

容器類的不可變類型使用strong,打印表明值和指針相同

容器類的不可變類型使用copy,打印表明值和指針都不相同
特殊的字符串。
不可變的具有相同的指針地址,某個字符串變化只有他自己指向新的地址

不可變的具有相同的指針地址,某個字符串變化只有他自己指向新的地址
可變字符串使用copy的是新地址,但是值沒有變。

可變字符串發(fā)生變化其他的不會變化
僅供參數,錯誤之處請指正,有個疑問為什么用weak修飾的字符串和strong一樣。