我看到很多討論說我應該使用副本 NSString屬性,因爲它會阻止他人改變我的背後。但那麼爲什麼我們不只是設置只讀屬性呢?NSString屬性複製或只讀?
更新
謝謝回答我的問題。但事情是,對於NSString屬性,你總是不希望別人修改它,對吧?你可以自己修改它,但絕對不是別人。我想大部分時間NSString都會設置它的初始值(無論是由您還是其他人),之後只有您會修改它。那麼,爲什麼不只是使用只讀屬性
其實我大多數時間使用複製。但後來我意識到大部分時間我只在init方法中使用這些setter。所以我認爲我應該只使用readonly而不是複製這些情況。所以讓我以這種方式提出問題:如果你只在你的init方法中爲你的NSString使用那些setter,那麼你應該使用readonly來代替。這是一個合理的結論嗎?
感謝您更新我的問題。 – Qiulang
不客氣=) – justin
「最安全的方法是使用複製和只讀」。但是,這不是讓你的客戶感到困惑嗎?只讀意味着沒有setter,而複製意味着有setter?當然你的客戶會進一步推斷你在你的.m文件中添加了readwrite,但是聲明copy和readonly仍然讓我一見鍾情。 – Qiulang