iOS開發技巧

2021-06-25 16:53:59 字數 1527 閱讀 8858

1.  xcode外掛程式目錄

2. ios靜態庫打包

1. 新建工程 --- framework & library

2. 寫完framework專案後,直接編譯,會生成 .h檔案和.a實現檔案(看不見原始碼的二進位制檔案)

> 但是編譯成 .a檔案時, 要針對不同的平台編譯 , 繼而生成不同平台上可以使用的 .a 檔案 

1)ios device,編譯出來的.a靜態庫檔案是基於arm架構上的,即可在 - 真機(arm) - 上執行。

2)iphone simulator,編譯出來的靜態庫檔案是基於i386架構的,可在 - 模擬器(i386) - 中執行

3. 將不同平台下適用的.a檔案, 統一打包成乙個適用所有平台的.a檔案

> lipo -create i386平台的.a檔案全路徑 arm平台的.a檔案 -output 通用.a檔案的路徑

3. #define 使用

4. baseviewcontroller -- 所以控制器的父類,來提供一些基礎性的**

1. 獲取rootview的frame,(x,y), width, height, 最左邊x, 最上邊y

2. 定義乙個pushvc方法 , 來攔截所有該子類控制器的pushviewcontroller方法

- (void)pushvcfrom:(id)fromvc to:(id)tovc isanimate:(bool)animate ;

5. 動態載入第三方字型

6. block中得引發 retain cycle 錯誤

1.  block是什麼?

> 乙個nsobject物件

> 存在建立,釋放等宣告週期、

> 也可以被乙個該block型別的變數所持有

> 所以,block就跟一般的物件,沒有什麼區別,所以也會產生記憶體不釋放的問題

2. 非arc下 , 產生該錯誤解決方案.

eg.1 - 非arc下

//下面這段**會造成

1. manager.complete變數持有block物件

2. block物件又持有manager物件

> 相互持有,

形成2個都不能釋放

dosomethingmanager *manager = [[dosomethingmanager alloc] init];  

manager.complete = ^;  

> 解決: 使manager物件/block物件 任一方,取消對另一方的持有

dosomethingmanager *manager = [[dosomethingmanager alloc] init];  

manager.complete = ^;  

3. arc下, 產生該錯誤解決方案。

manager * manager = [[dosomethingmanager alloc] init];  

//複製乙個weak指標指向manager物件

weak manager * weak_manager = manager;

manager.complete = ^

iOS開發技巧7

今天開發的時候需要日期轉換成星期的方法 也是網上搜尋到的 nsdateformatter inputformatter nsdateformatter alloc init inputformatter setdateformat nsdate formatterdate inputformatte...

iOS開發技巧10

所有快捷鍵在xcode4.5中測試 command delete 刪除游標至行首的內容 control k 刪除游標 至本段末的內容 control y 將剛剛用control k或command delete刪除的內容貼上至游標所在之處 shift command 調出拼寫檢查對話方塊。ctrl ...

iOS開發技巧(1)

這個系列的文章只是簡單地把開發過程中的一些技巧總結起來,方便以後查閱。exclusivetouch是uiview的乙個屬性。exclusive是 獨家 的意思,所以這個方法的作用就是把某個uiview的觸碰事件設定為獨家事件,即如果多個設定了exclusivetouch的uiview被同時點選,則只...