讀寫權(quán)限關(guān)鍵字
readonly
readwrite? (默認(rèn))
原子性
atomic(默認(rèn))?
保證 賦值和獲取是線程安全的? (直接對成員變量的獲取? 賦值)并不代表操作和訪問
假如我們用atomic? 來修飾一個(gè)數(shù)組? 對數(shù)組進(jìn)行賦值? 獲取 是可以保證線程安全的? 但是當(dāng)我們對這個(gè)數(shù)組進(jìn)行操作時(shí)? 如? 增? 刪? ?就不在atomic 的負(fù)責(zé)范圍之內(nèi)了? 也就是說 用atomic修飾一個(gè)數(shù)組 對數(shù)組進(jìn)行 增加 刪除操作 是不保證線程安全的 只對 賦值 獲取有效
noatomic
引用計(jì)數(shù)
return / strong
return 一般在MRC中使用
strong 一般在ARC中使用
這兩個(gè)是用來修飾對象的
assign / unsafe_unretained
assign 可以修飾基本類型 也可以修飾對象類型
unsafe_unretained 只有在MRC中 使用的比較頻繁

懸垂指針 也就是 assign 所修飾的對象在被釋放之后? assign指針仍然指向原對象 地址? 這是如果通過assign指針繼續(xù)訪問源對象 可能就會由于懸垂指針的原因 導(dǎo)致內(nèi)存泄漏 或 程序異常
weak

copy

淺拷貝 會發(fā)生引用計(jì)數(shù)的改變 不會開辟新的內(nèi)存空間

兩塊內(nèi)容相同的不同空間




進(jìn)行拷貝之后 可變數(shù)組 copy 過后變成了 不可變數(shù)組 在調(diào)用時(shí)候很可能出現(xiàn)異常 crash