歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 在iOS開發中告別未定義selector

在iOS開發中告別未定義selector

日期:2017/3/1 10:29:57   编辑:Linux編程

objc和C++同為由C語言衍生出的OOP語言,但他們實現OOP的方式並不相同:在C++中,對象與方法在編譯器綁定;而在objc中,稱“方法”一詞為“消息”,在程序運行時向對象發送消息,即運行期綁定。

兩種方式各有優劣,C++注重性能,objc注重靈活。

然而運行期綁定給開發帶來問題——編程時拼寫錯了方法名,編譯器並不報錯。筆者曾debug一小時,最後發現是方法名少寫了個冒號。

為此筆者曾用過一個笨辦法——斷言某對象響應某方法,以此來排除錯誤可能。

這當然太過麻煩,其實有個簡單的方法,可以上編譯器報warning:

以Xcode 4為例,打開一個項目,在左側導航欄中雙擊項目文件:

在彈出窗口中將GCC waring項undeclared selector設為yes:

Copyright © Linux教程網 All Rights Reserved