題目沒想好, 寫代碼的時候考慮全面點吧

最近都是在用Swift, 深深的理解到Swift的安全性. 這種安全是體現在你不需要等到程序運行期間去發現錯誤, 而是在編譯的期間,Xcode就幫你檢查出來了. 這里不做詳細討論. 我下面所記錄的是在OC中, 如何選擇更好的方法, 去讓編譯器幫你檢查錯誤.

今天看狐貍狗的Demo, 我先他里面有一代碼是這么寫的:


就是一個actionSheet 代理方法里面根據buttonIndex的值去執行對應的方法

然后我就好奇,為什么不直接用:


went后來我想了一下, (可能也是Swift寫了多段時間之后的后遺癥) 就發現其中可能出問題的幾個點:

1, 如果這個時候self 為 nil

2, 如果self 自己本身那3個方法被改了名字

1,什么都不會發生

2,會引起: unrecognized selector sent to instance


如果按上面的寫法,

就不會存在這樣的問題, 當我的方法名字被修改了時候:


Xcode會幫你檢查一次錯誤
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 轉至元數據結尾創建: 董瀟偉,最新修改于: 十二月 23, 2016 轉至元數據起始第一章:isa和Class一....
    40c0490e5268閱讀 1,775評論 0 9
  • 因為要結局swift3.0中引用snapKit的問題,看到一篇介紹Xcode8,swift3變化的文章,覺得很詳細...
    uniapp閱讀 4,512評論 0 12
  • 我是誰? 物質的還是精神的? 為什么來到這里? 你是誰? 騎著摩托風弛電摯在堤上東行 我躺在你的后面 看見了藍天遼...
    一枚冰兒閱讀 160評論 1 0
  • 原文 子曰:攻乎異端,斯害也已。 釋文 孔子說:批判其他不同立場的說法,難免造成爭論不休的禍害。 面對事物的不同看...
    番茄媽閱讀 119評論 0 0
  • 分為3部分。 1.HTML。顯示頁面 2.表單form。填寫表白的對象和話。 3.數據庫mysql操作。插入數據,...
    aeeda10cd99d閱讀 783評論 0 1