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被同時點選,則只...