學習過程筆記 7月上

2022-06-25 06:42:13 字數 2650 閱讀 6186

2015-07-05 

1、tabbar的高度為 49

2015-07-07

2、當系統自帶的 tabber 不能滿足的適合,得自己重新定義乙個 tabber 的 view,替換系統的。

3、比如想取消按鈕按下時的灰色狀態,則需要自己定義乙個按鈕繼承系統的按鈕,然後重寫

//

- (void

)sethighlighted:(bool)highlighted

這樣即可。原因是重新定義的 highlighted 替換了系統裡面複雜的操作,使灰色狀態不能正常顯示。

4、一般要擴充套件系統自帶的方法,重寫某個方法的時候,一定要呼叫 super 方法,不然原來系統自帶的效果就會丟失

- (void

)sethighlighted:(bool)highlighted

5、init 方法內部會自動呼叫 initwithframe: 方法,一般來說,想在乙個控制項初始化的時候做一些事情,並不是重寫 init 方法,而是重寫 initwithframe: 方法

ui 控制項:建議重寫 initwithframe:來初始化

-(instancetype)initwithframe:(cgrect)frame

return

self;

}

initwithframe: 是當使用**建立控制項的時候就會呼叫

initwithcoder: 是使用storyboard 、 檔案 、xib 建立控制項的時候就會呼叫

所以當要自定義乙個控制項的時候,最嚴謹的做法是同時重寫這兩個方法。

6、乙個控制項顯示不出來有可能以下原因:

1.寬度高度是否為0;

2.hiden 屬性是否為 yes;

3.7、初始化方法( initwithframe:)只用來新增子控制項,等我們自己的 frame 確定了之後再設定 控制項的 frame ,解決方法:重寫 layoutsubviews 方法。

- (void

)layoutsubviews

}

2023年7月12日

8、block 的一些基本知識

定義乙個block:

int (^myblock)(int , int ) = ^(int a,int b);

定義乙個block,輸入兩個值,輸出兩個值的和。

給上面定義的block取乙個別名,則定義如下:

typedef  int (^myblock)(int , int );   // block取別名是直接把整個block拿過來,然後把名字改成自定義的即可。然後呼叫方式如下:

myblock sumblock = ^(int a,int b);

在xcode中定義乙個block以及使用方法:

1.首先定義乙個block模型:

typedef void (^cjsettingitenoption)() ;

2.定義乙個copy型別的變數

@property(nonatomic,copy) cjsettingitenoption option;

3.在程式中的呼叫方法

在需要檢測的函式裡面先寫好block實現方法,例如:

update.option = ^

//在這裡新增的view只是在原來view的基礎上覆蓋乙個新的view而已,此時有兩個view存在

- (void

)viewdidload

15、工作列的簡單處理

/*

* * 控制狀態列的狀態

* * @return 返回白色 */

-(uistatusbarstyle)preferredstatusbarstyle

6、簡單動畫的實現

[uiview animatewithduration:1.0 animations:^];

17、簡單資料儲存

nsuserdefaults *defaults =[nsuserdefaults standarduserdefaults];

[defaults setbool:self.switchview.ison forkey:self.item.title];

[defaults synchronize];

nskeyedarchiver

18、block 記憶體洩漏問題

block對於其變數都會形成strong reference,對於self也會形成strong reference ,而如果self本身對block也是 strong reference 的話,就會形成 strong reference 迴圈,造成記憶體洩露,為了防止這種情況發生,在block外部應該建立乙個week(__block) reference。

所以在block內如果有self的話,一般都會在block外面加一句__weak typeof(self)bself = self;

__weak typeof(self) bself = self;  

[self methodthattakesablock:^

2023年7月19日學習筆記

整數型別 short 佔兩位元組的儲存空間,表數範圍為 32768 32768 最高位為符號位0表正1表負 unsigned short 無符號短整型,佔2個位元組的儲存空間,最高位位數值表數範圍為0 65535 int 佔4位元組,最高位為符號位 0表正,1表負 表數範圍為 2147483648 ...

學習筆記7(SQL Server儲存過程詳解)

什麼是儲存過程 儲存過程 procedure 類似於c 語言中的方法,它是sql語句和控制流語句的預編譯集合。儲存過程儲存在資料庫內,可由應用程式通過乙個呼叫執行,而且允許使用者宣告變數 邏輯控制語句以及其他強大的程式設計功能。儲存過程可包含邏輯控制語句和資料操作語句,它可以接收引數 輸出引數 返回...

7月16日學習

學習日誌 姓名 郭富民 日期 2018 7 16 今日學習任務c51微控制器的最小系統,各引腳作用,軟體的使用方法。今日認務完成情況基本完成,能跟上老師的進度。今日開發中出現的問題彙總 關於c51微控制器的一些知識不夠了解。對微控制器各引腳的作用不能完整了解。對流水燈等題目不能立刻想到辦法。對軟體的...