1.搭建九宮格的步驟?
<1>明確每一塊用的是什麼view;
<2>明確每個view之間的父子關係;
<3>先嘗試逐個新增格仔,最後考慮使用for迴圈;
<5>新增格仔內部的子控制項;
<6>給格仔內部的子控制項裝配資料。
2.九宮格演算法分析?
<1>每一列的x值一樣,列號決定x值;
<2>每一行的y值一樣,行號決定y值;
<3>純**方式實現九宮格,使用for迴圈新增格仔。
3.用模型取代字典的好處?
<1>使用字典的壞處:①一般情況下,設定資料和取出資料都使用"字串型別的key",編寫這些key時,編譯器不會有任何友善提示,需要手敲;②手敲字串key,key容易寫錯;③key如果寫錯了,編譯器不會有任何警告和報錯,造成設錯資料或者取錯資料;
<2>使用模型的好處:①模型就是資料模型,專門用來存放資料的物件,用它來表示資料會更加專業;②模型設定資料和取出資料都是通過它的屬性,屬性名如果寫錯了,編譯器馬上會報錯,因此,保證了資料的正確性;③使用模型訪問屬性時,編譯器會提供一系列的提示,提供編碼效率; .dict
[@"name"
] = @
"jack"
;
nsstring
*name
= dict
[@"name"
];
name
= @"jack"
;nsstring
*name= .
name
;<3>字典轉模型:①字典轉模型的過程最好封裝在模型;②模型應該提供乙個可以傳入字典引數的構造方法;
<4>instancetype:①instancetype在型別表示上,跟id一樣,可以表示任何物件型別;②instancetype只能用在返回值型別上,不能像id一樣用在引數型別上;③instancetype比id多乙個好處:編譯器會檢測instancetype的真實型別。- (
instancetype
)initwithdict
:(nsdictionary
*)dict
;
+ (
instancetype
)***withdict
:(nsdictionary
*)dict
;
4.xib檔案的使用?
<1>xib檔案可以用來描述某一塊區域性的ui介面;
<2>xib檔案的載入:
①這個方法會建立xib中的所有物件,並且將物件按順序放到objs陣列中;
nsarray
*objs
= [[
nsbundle
mainbundle
] loadnibnamed
:@owner
:nil
options
:nil
];
②bundle引數可以為nil,預設就是main bundle;
<3>在開發階段,面向開發者的是xib檔案;當把應用裝到手機上時,xib檔案就會轉為nib檔案;uinib
*nib
= [uinib
nibwithnibname
:@bundle
:[nsbundle
mainbundle
]];
nsarray
*objs
= [nib
instantiatewithowner
:nil
options
:nil
];
<4>要想隨意調整xib中view的尺寸,首先要設定size為freeform;
<5>xib和storyboard對比:①都用來描述軟體介面,都有inte***ce builder工具來編輯;②xib是輕量級的,用來描述區域性的ui介面,storyboard是重量級的,用來描述整個軟體的多個介面,並且能展示多個介面之間的跳轉關係;
<6>view的封裝:①如果乙個view內部的子控制項比較多,一般會考慮自定義乙個view,把它內部子控制項的建立遮蔽起來,不讓外界關心;②外界可以傳入對應的模型資料給view,view拿到模型資料後給內部的子控制項設定對應的資料。
5.@property引數?
<1>copy:nsstring型別;
<2>strong:一般物件;
<3>weak:ui控制項;
<4>assign:基本資料型別。
6.按鈕設定文字及字型?
<1>設定按鈕的文字,不推薦直接拿到按鈕內部的label設定文字,應呼叫settitle: forstate:方法來設定按鈕文字:
[
downloadbtn
settitle
:@forstate
:uicontrolstatenormal
];
<2>設定按鈕文字的字型:
downloadbtn
.titlelabel
.font
= [uifont
systemfontofsize:13
];
7.使用xib封裝乙個自定義view的步驟?
<6>重寫模型屬性的set方法,因為在set方法中可以拿到外界傳遞的模型資料;
<7>把模型資料拆開,分別設定資料到對應的子控制項中;
黑馬程式設計師 學習筆記
windows phone 7手機開發 net培訓 期待與您交流!filestream sqlconnection實現了idispose介面,用完需要被釋放掉 using sqlconnection conn new sqlconnection 用完被釋放掉了 當close後還可以再進行open,物...
黑馬程式設計師 集合筆記
一 定義 用來存放不同型別的物件,長度是可以變的 connection有兩個子類 list,set list 允許元素重複 set 不允許元素 重複 list的子類 arraylist,linkedlist,vector set的子類 hashset,treeset 為什麼會出現這麼多容器呢?因為每...
黑馬程式設計師 OC學習筆記 記憶體管理
property和 synthesize關鍵字 property和 synthesize關鍵字可以幫助我們構造屬性的設定和訪問方法即setter和getter方法,可以省去我們很多重複機械的 在宣告檔案中使用 property 宣告變數,在實現檔案中用 synthesize property 關鍵字...