最近都是在用Swift, 深深的理解到Swift的安全性. 這種安全是體現在你不需要等到程序運行期間去發現錯誤, 而是在編譯的期間,Xcode就幫你檢查出來了. 這里不做詳細討論. 我下面所記錄的是在OC中, 如何選擇更好的方法, 去讓編譯器幫你檢查錯誤.
今天看狐貍狗的Demo, 我先他里面有一代碼是這么寫的:
就是一個actionSheet 代理方法里面根據buttonIndex的值去執行對應的方法
然后我就好奇,為什么不直接用:
went后來我想了一下, (可能也是Swift寫了多段時間之后的后遺癥) 就發現其中可能出問題的幾個點:
1, 如果這個時候self 為 nil
2, 如果self 自己本身那3個方法被改了名字
1,什么都不會發生
2,會引起: unrecognized selector sent to instance
如果按上面的寫法,
就不會存在這樣的問題, 當我的方法名字被修改了時候:
Xcode會幫你檢查一次錯誤