id是泛類型,可以用來存放各種類型的對象,使用id也就是使用“動態類型”。 動態類型,就是指,對象實際使用的是哪一個類是在執行期間確定的,而非在編譯期間。 雖然id類型可以定義任何類型的對象,但是不要濫用,如果能夠確定對象數據類型的時候,要使用“靜態類型”,“靜態類型”是在編譯階段檢查錯誤,而不是在 ...
id是泛類型,可以用來存放各種類型的對象,使用id也就是使用“動態類型”。
動態類型,就是指,對象實際使用的是哪一個類是在執行期間確定的,而非在編譯期間。
雖然id類型可以定義任何類型的對象,但是不要濫用,如果能夠確定對象數據類型的時候,要使用“靜態類型”,“靜態類型”是在編譯階段檢查錯誤,而不是在執行階段。而且“靜態類型”程式可讀性好。
既然數據類型可以是動態識別,那麼方法是否可以動態識別呢?當然也是可以的,這就是“動態綁定”,它是指在執行期間根據“消息”找到要調用的實際方法。
參考資料:《iPhone與iPad開發實戰-iOS經典應用剖析》