iOS基礎(一) 屬性篇

2022-03-14 12:42:46 字數 804 閱讀 6131

屬性是oc(objective-c)的一項特徵,就像人的某一項特徵。

這個是基於oc是物件導向的語言,萬物皆物件。這也就很好理解了。

@property (nonatomic, strong) uilabel *label;
就相當於宣告了label 這個屬性,並且實現了他的setting和getting方法。

@synthesize label = _label;

-(uilabel *)label;

-(void)setlabel:(uilabel *)label;

屬性有什麼特徵:

1、原子性與非原子性

原子性(atomic)在讀與寫屬性的時候加了同步鎖,只有所以程序都完成才算完成,否則,滾動回原來位置。

非原子性(nonatomic)與原子性相反,不加同步鎖。

2、取值與賦值

getter方法:取值方法

setter方法:賦值方法

3、記憶體管理

assign:簡單的賦值操作,如:nsinteger,gcfloat,bool

strong:強引用關係,當引用的物件消失,它才會消失,設定方法,保留新值,並且釋放舊值。

weak:弱引用關係,設定方法 不保留新值,不釋放舊值,當指標指向的物件銷毀時,指標置nil,產生了空指標。

copy:有深拷貝與淺拷貝,淺拷貝只是拷貝值,並沒有拷貝指標。深拷貝不但拷貝值,也拷貝指標,相當於真正複製乙份出來

4、讀寫屬性

readwrite:擁有讀寫屬性

readonly:唯讀屬性

iOS開發基礎篇 transform屬性

在oc中,通過 transform 屬性可以修改物件的平移 縮放比例和旋轉角度。1 建立 基於控制項初始位置 的形變 cgaffinetransformmakerotation 旋轉 cgaffinetransformmaketranslation 平移 cgaffinetransformmakes...

ios基礎篇(十) CALayer基本屬性

ca core animation 核心動畫 calayer和uiview的關係 calayer的基本屬性 陰影 圓角大小 邊框寬度和顏色 寬度和高度 property cgrect bounds 位置 預設指中點,具體由anchorpoint決定 property cgpoint position...

mysql初識(一)基礎屬性篇

這是我剛開始學習mysql時總結的筆記 可能比較潦草但還好比較容易理解,亂點就亂點吧 以後有什麼新的東西都隨時新增 mysql 的基礎屬性篇 字元集合校對規則 現在我們由於硬體的提公升可以稍微降低對記憶體的限制 因此現在最常用的萬國碼 utf8 在建立資料庫的時候就要設定編碼 這樣的話這個庫的內部檔...