masonry不常用到的方法
關於mas_key
masonry中用來標記view的key值(a key to associate with this view),通過runtime在view中新增的屬性。
在沒有定義mas_key時,發生約束衝突,後台報的錯誤資訊:(
)
當定義mas_key後,發生約束衝突,後台報的錯誤資訊:
( )
定義mas_key後,**閱讀是不是更加友好,而且衝突產生的原因和物件也一目了然了。
當多個view新增到父view時,每個都定義mas_key會很麻煩。masonry為我們提供了能夠快捷新增mas_key的巨集定義:
masattachkeys
(view,
self.view); //批量設定mas_key
關於relationship
typedef ns_enum(nsinteger, nslayoutrelation) ;
對應約束中的三種關係分別為:<=, =, >=.
在masonry對應的三個方法分別為:
- (masconstraint * (^)(
id attr))lessthanorequalto;
- (masconstraint * (^)(
id attr))equalto;
- (masconstraint * (^)(
id attr))greaterthanorequalto;
重點來解釋下lessthanorequalto和greaterthanorequalto這2個方法。
有的時候label中顯示的字數是不確定的,所以寬度不確定。而我們希望view隨著label變化,就可以按下面這麼寫。意思是view左邊大於等於label的左邊位置
make.left.greaterthanorequalto(label.mas_left);
同理,當label在view中時,由於字數不確定導致label寬度不確定。我們希望label的左邊不超出父view的左邊,可以按下面這麼寫
make.left.lessthanorequalto(label.mas_left);
Tableau 需要注意的幾個點(持續更新 )
tableau沒有自動儲存功能,時刻牢記手動儲存。tableau可以不限次數的撤銷操作。tableau是唯讀模式,讀取資料不會修改原始檔,但可儲存修改後的資料。tableau是列儲存的方式,所以基本上行數不受限制 測試過15億的資料不成問題 但是如果列比較多可能需要把大表拆成小表,否則會比較慢。ta...
Golang 使用map需要注意的幾個點
1.簡介 map 是 golang 中的方便而強大的內建資料結構,是乙個同種型別元素的無序組,元素通過另一型別唯一的鍵進行索引。其鍵可以是任何相等性操作符支援的型別,如整數 浮點數 複數 字串 指標 介面 只要其動態型別支援相等性判斷 結構以及陣列。切片不能用作對映鍵,因為它們的相等性還未定義。與切...
C 需要注意點
11 設定static成員變數初值時,不受任何訪問許可權的束縛。可以再還沒有誕生任何物件的時候就處理static型別成員變數,但首先必須初始化它。2 只要access level允許,任何函式都可以訪問static成員變數。但如果你希望在產生任何object之前就訪問其class的private s...