這是考慮到一個安全問題:為了確保被賦值的string不會被外界修改。
風險在于:如果一個NSMutableString類型的字符串扎谎,賦值給NSString類型的字符串碳想,如果修飾詞不是copy,而是strong,則NSString的值也可能會修改毁靶。
因為用strong修飾胧奔,只是將NSString指向了NSMutableString所在的位置。
用copy修飾预吆,在賦值時會把NSMutableString的內容復制一遍給NSString,此時兩者指向的位置不同龙填。
NSArray和NSDictionary用copy修飾的原因也一樣。
但是NSMutableArray和NSMutableDictionary必須用strong修飾拐叉,因為用copy修飾類型會變成不可變數組或者不可變字典觅够,新增數據時會崩潰。