黑馬程式設計師 應用管理筆記

2021-06-28 11:09:24 字數 2823 閱讀 3446

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如果寫錯了,編譯器不會有任何警告和報錯,造成設錯資料或者取錯資料;

dict

[@"name"

] = @

"jack"

;nsstring

*name

= dict

[@"name"

];

<2>使用模型的好處:①模型就是資料模型,專門用來存放資料的物件,用它來表示資料會更加專業;②模型設定資料和取出資料都是通過它的屬性,屬性名如果寫錯了,編譯器馬上會報錯,因此,保證了資料的正確性;③使用模型訪問屬性時,編譯器會提供一系列的提示,提供編碼效率; .

name

= @"jack"

;nsstring

*name= .

name

;<3>字典轉模型:①字典轉模型的過程最好封裝在模型;②模型應該提供乙個可以傳入字典引數的構造方法;

- (

instancetype

)initwithdict

:(nsdictionary

*)dict

;+ (

instancetype

)***withdict

:(nsdictionary

*)dict

;

<4>instancetype:①instancetype在型別表示上,跟id一樣,可以表示任何物件型別;②instancetype只能用在返回值型別上,不能像id一樣用在引數型別上;③instancetype比id多乙個好處:編譯器會檢測instancetype的真實型別。

4.xib檔案的使用?

<1>xib檔案可以用來描述某一塊區域性的ui介面;

<2>xib檔案的載入:

①這個方法會建立xib中的所有物件,並且將物件按順序放到objs陣列中;

nsarray

*objs

= [[

nsbundle

mainbundle

] loadnibnamed

:@owner

:nil

options

:nil

];

②bundle引數可以為nil,預設就是main bundle;

uinib

*nib

= [uinib

nibwithnibname

:@bundle

:[nsbundle

mainbundle

]];nsarray

*objs

= [nib

instantiatewithowner

:nil

options

:nil

];

<3>在開發階段,面向開發者的是xib檔案;當把應用裝到手機上時,xib檔案就會轉為nib檔案;

<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 關鍵字...