IOS開發中一些受用的編碼和除錯方法積累

2022-03-29 18:18:43 字數 725 閱讀 3340

1.## 與 @# 在巨集裡面該怎樣使用

1

#define lrtoast(str) [nsstring stringwithformat:@"%@",str]2//

這個巨集需要這樣寫

3 lrtoast(@"");

4 nslog(@"

%@",lrtoast(@"

"));

強調下我只是隨便定義乙個巨集來做示例, 以上**是正常的使用,我們在來看看新增@#是怎麼使用的:

1#define lrtoast(str) [nsstring stringwithformat:@"%@",@#str]2//

這個巨集需要這樣寫34

//正常執行, 列印不會報錯

5 nslog(@"

%@2.用斷點除錯崩潰問題的小技巧

有時候遇到bug,會直接崩潰到主函式,這個時候我們更想快速定位崩潰的地方。

xcode提供了乙個全域性斷點,可以快速定位崩潰的地方,全域性斷點的新增方法:

但是新增全域性斷點後會跳轉到主函式, 會遇到如上圖的情況, 那麼80%的問題就是storyboard或者xib拖線沒有及時清理掉壞線,所以會造成崩潰!

所以說如果修復bug或者優化功能, 我們只修改疊加第三位數字, 其他不變

IOS開發中一些重要提示筆記

1 空值處理不當是引起程式錯誤乃至崩潰的重要原因之一。2 有效減少記憶體使用是開發軟體時第一優先順序的事情。3 在類的dealloc 函式中一定要將 super dealloc 放到最後一行。4 將類的成員變數作為類內部私有資料,而將類屬性作為外部可訪問的公有資料。5 使用 protocol模式時,...

iOS開發的一些事

1.void load 和 id inittialize的區別 load是在乙個類最開始載入時呼叫,initialize是在應用中第一次呼叫該類或它的例項的方式之前呼叫。這兩個方法都是可選的,只有實現了才會被執行。load能夠保證在類初始化的時候就會被載入,這為改變系統行為提供了一些統一性。但 in...

Android開發中一些常用的ADB命令

adb android debug bridge adb的工作原理也不是很複雜,它是基於c s架構 我們可以在windows下開啟多個命令列客戶端 可以提高開 可以讓我們更加了解linux系統的執行機制。1.adb devices 列出連線的裝置,如果有多台裝置可以通過在adb後面加 s s dir...