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...