零散基礎知識:
1.只要被static修飾的區域性變數,只會初始化一次,在整個程式執行過程中,只有乙份記憶體;
2.oc語法細節:不允許直接修改oc物件的結構體屬性的成員,所有可以通過cgmake(),或先把屬性支賦給乙個值,然後通過改變賦給的那個值,在把那個值賦給屬性值;
3.uiscrollview:
1). shouview.clipstobounds = yes;超出的部分隱藏
2). scrollview:如果想禁止某個方向的滾動,那麼就可以直接設定width=0或height = 0;
3). 如果遇到uiscrollview無法滾動的解決辦法:
1>.沒有設定contentsize;
2>.scrollenabled = no;
3>.沒有接受到觸控事件userinteractionenable= no;
4.所謂模型,其實就是資料模型,專門用來存放資料的物件,用它來表示資料會更加專業
1). 模型設定資料和取出資料都是通過它的屬性,屬性名如果寫錯了,編譯器會馬上報錯,因此,保證了資料的正確性
2). 使用模型訪問屬性時,編譯器會提供一系列的提示,提高編碼效率
jack
";3). 字典轉模型的過程最好封裝在模型內部
4). 模型應該提供乙個可以傳入字典引數的構造方法
-( instancetype)initwithdict:(
nsdictionary*)dict;
+( instancetype)***withdict:(
nsdictionary*)dict;
5.
instancetype
在型別表示上,跟
id一樣,可以表示任何物件型別;
instancetype
只能用在返回值型別上,不能像
id一樣用在引數型別上;
instancetype比id
多乙個好處:編譯器會檢測
instancetype
的真實型別;
//...//
載入xib檔案:
方式1:
nsarray *objs = [[nsboundle mainbundle]loadnibnamed:@」test」 owner:nil options:nil];
[self.view addsubview:objs[1]];
方式2:
乙個物件就代表乙個 檔案:
uinib *nib = [uinib nibwithnibname:@」test」bundle:[nsbundle mainbundle]];
一般情況下,bundle引數nil,預設就是
uinib *nib = [uinib nibwithnibname:@」test」bundle:nil];
nsarray *objs = [nibinstantiatewithowner:nil options:nil];
[self.view addsubview:[objs lastobject]];
注意:u通過xib\storyboard建立
-初始化時不會呼叫initwithframe:方法,只會呼叫initwithcoder:方法
-初始化完畢後會呼叫awakefromnib方法
設定監聽事件常用的
3種方式
:1
>
通過addtarget方式,
但是這種方式只能監聽一些
"單擊事件"、
"滾動條滾動事件"等
,有些事件通過
addtarget
方式監聽無效,比如
"value changed"
事件。
注意: addtarget **有個條件:必須繼承uicontrol
2>
通過**
, 文字框的**協議
"uitextfielddelegate"
。演示:textfieldshouldbeginediting
方法。
/** 演示**:
// 為某個文字框設定**
- (void)viewdidload
// 讓當前控制器遵守uitextfielddelegate協議, 並且實現- (bool)textfieldshouldbeginediting:(uitextfield *)textfield方法, 返回yes
- (bool)textfieldshouldbeginediting:(uitextfield *)textfield
*/
C 基礎知識06
氣泡排序法 讓陣列中的元素兩兩比較 第i個與第i 1個比較 經過 n i 1 遍比較,陣列中的元素能夠按照預期規律排序.要從大到校排序,用 比較.規律 1.n個數需要排n 1趟 2.第j趟需要比較的次數為n j次 例 inttemp,i,j intscore 迴圈比較的趟數 for i 0 i sc...
ios基礎知識
1.2 plist xml格式檔案通常用於儲存使用者設定 pch 預編譯檔案頭 xib nte ce builder 的圖形介面設計文件 storyboard是ios 5的新特徵,旨在代替歷史悠久的nib xib 3 4 viewcontroller 建立viewcontroller時,執行load...
iOS 基礎知識
幾種寫法的區別 const nsstring conststring1 i am a const nsstring string nsstring const conststring2 i am a nsstring const string static const nsstring static...