屬性注意點

2022-03-10 14:38:27 字數 1314 閱讀 7003

屬性注意點

@property (特性) 屬性型別 屬性名稱
特性

以下特性影響屬性的setter方法

// assign 

// @property (assign) nsstring *name;

// 預設 setter

- (void) setname:(nsstring *)name

// weak (arc)(類似 mrc 的 assign)

// 與 assign 不同點: 當 _name 引用的物件被釋放時, _name 會被立即置為 nil 。相對 assign 更安全。 _name 引用物件被釋放之後,開發人員可能因為誤操作繼續訪問 _name。這樣就會造成野指標。

// @property (weak) nsstring *name;

// 預設 setter

- (void) setname:(nsstring *)name

// retain

// @property (retain) nsstring *name;

// 預設 setter

- (void) setname:(nsstring *)name

// copy

// @property (copy) nsstring *name;

// 預設 setter

- (void) setname:(nsstring *)name

// strong (arc)(等同於 mrc 的 retain)

// @property (strong) nsstring *name;

// 預設 setter

- (void) setname:(nsstring *)name

原子性影響getter方法:

// nonatomic 

// 使用該特性可以在多執行緒併發的情況中,將訪問器設定為非原子性(預設是 atomic 原子性,即 setter 、 getter 都加鎖,非原子性就是去鎖),因而能夠提供不同的結果。如果不設定,賦值和返回結果永遠都會完全同步。

//

以後補充

問題在 -init 方法中為什麼不使用 self.屬性(呼叫 getter 方法) 來進行設定

因為屬性有可能在 getter 方法中關聯了一些其它物件,在 -init 中很可能這些物件還沒有完全建立。這時候使用屬性對應的例項變數。

Spring配置Scope屬性注意點

spring的配置bean元素時,其scope屬性取值有如下幾個 1.singleton 單例模式,即該bean對應的類只有乙個例項 在 spring 中是scope 作用範圍 引數的預設值 2.prototype 表示每次從容器中取出bean時,都會生成乙個新例項 相當於new出來乙個物件 3.r...

物件用 來獲取屬性的注意點

今天寫 用 var strategies b function salary function bonus salary,strategy bonus.prototype.getbonus function var bos new bonus 500,a bos.getbonus 如果要呼叫某個屬性...

vue中的 refs屬性幾個注意點

1.在vue中獲取dom推薦使用 refs來獲取,可是有時會出現this.refs.為undefined的情況。2.如果使用v for 遍歷加ref時可以使用 即 ref variable 這樣得到的是不同的ref。for item,index in arr key index refname di...