當前位置:成語大全網 - 書法字典 - iOS定義屬性的時候,什麽時候用復制,賦值,保留?

iOS定義屬性的時候,什麽時候用復制,賦值,保留?

具體情況要具體分析~而且編程環境裏的情況也不壹樣。我簡單介紹壹下這三個關鍵詞。

Assign用於簡單數據類型,如NSInteger、double、bool、?保留和復制用於對象。當A指向壹個對象,B想指向同壹個對象時,就使用Copy。如果使用assign,如果A被釋放,調用B會崩潰。如果使用復制?這樣A和B各自有自己的內存,就可以解決這個問題了。?

保留?將計數器加壹,也可以解決賦值的問題。?

此外,原子和非原子用於確定編譯器生成的getter和setter是否為原子操作。在多線程環境中,原子操作是必要的,否則可能會導致錯誤的結果。?添加了atomic後,setter函數看起來會是這樣的:?如果?(物業?!= & ampnbspnewValue)?{?[財產與財產。nbsp release];?

財產?=?新價值& ampnbsp retain];?}?