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

1.## 與 @# 在宏裏面該怎樣使用函數

  • ##的使用, 首先咱們添加一個宏優化

    1 #define LRWeakSelf(type)  __weak typeof(type) weak##type = type;

    ##是鏈接的做用, 即當使用上面的宏會把weak與輸入的type值鏈接起來以下圖:spa

  • #的意思是緊跟着它的後面的標識符添加一個雙引號""@#的使用, 咱們添加一個普通的宏:
    調試

1 #define LRToast(str) [NSString stringWithFormat:@"%@",str]
2 //這個宏須要這樣寫
3 LRToast(@"舒適提示");
4 NSLog(@"%@",LRToast(@"舒適提示"));

強調下我只是隨便定義一個宏來作示例, 以上代碼是正常的使用,咱們在來看看添加@#是怎麼使用的:code

1 #define LRToast(str) [NSString stringWithFormat:@"%@",@#str]
2   //這個宏須要這樣寫
3   LRToast(舒適提示);
4   //正常運行, 打印不會報錯
5   NSLog(@"%@",LRToast(舒適提示));

咱們能夠看出來 LRToast(舒適提示);LRToast(@"舒適提示");區別, 也就是說@#能夠代替@"" 那麼咱們之後開發就省事了, 不用再添加@""了!orm

2.用斷點調試崩潰問題的小技巧blog

有時候遇到Bug,會直接崩潰到主函數,這個時候咱們更想快速定位崩潰的地方。ip

Xcode提供了一個全局斷點,能夠快速定位崩潰的地方,全局斷點的添加方法:開發

 

 


可是添加全局斷點後會跳轉到主函數, 會遇到如上圖的狀況, 那麼80%的問題就是storyboard或者xib拖線沒有及時清理掉壞線,因此會形成崩潰!string

3.App迭代開發版本號的規則

在iOS中簡單的版本號是怎樣管理的呢? 首先咱們的App初版本首次上線, 好比以1.0.0爲首次上線的版本號:

  • 上線後忽然發現一個嚴重的Bug那咱們就要修復更新版本, 此時咱們的版本號爲1.0.1

因此說若是修復Bug或者優化功能, 咱們只修改疊加第三位數字, 其餘不變

  • 若是有了新的需求, 在原來的基礎上增長了一個新功能, 那麼咱們的版本號變爲1.1.0, 須要清空第三位數字爲0, 來疊加修改第二位數字
  • 若是App需求功能大改, 更新量很是大, 那咱們的版本號變爲2.0.0, 須要疊加修改第一位數字, 清空其餘數字爲0
相關文章
相關標籤/搜索