因?yàn)楦割愔羔樋梢灾赶蜃宇悓ο蟀照溃褂胏opy目的是為了讓本對象的屬性不受外界的影響,使用copy無論是給我傳入一個可變對象還是不可變對象静盅,我本身持有的都是一個不可變的副本良价。 如果我們使用的是strong 的話,那么這個屬性如果指向一個可變對象蒿叠,可變對象在外部被修改的時(shí)候明垢,會影響本身的屬性。
copy 所表達(dá)的所屬關(guān)系與strong 類似市咽,但是copy設(shè)置方法并不保留新值痊银。當(dāng)屬性為NSString 時(shí),因?yàn)閭鬟f給設(shè)置方法的新值有可能指向一個NSMutableString 類的實(shí)例施绎。這個類是 NSString 的子類溯革,此時(shí)若是不拷貝字符串,那么設(shè)置完屬性之后谷醉,字符串的值就可能會在對象不知道的情況下被更改致稀。