oc語言description方法和sel
一、description方法
description方法包括類方法和物件方法。(nsobject類所包含)
(一)基本知識
-description(物件方法)
使用nslog和@%輸出某個物件時,會呼叫物件的description方法,並拿到返回值進行輸出。
+description(類方法)
使用nslog和@%輸出某個物件時,會呼叫類物件的description方法,並拿到返回值進行輸出,把整個物件一次性列印出來,列印物件使用%@。
那麼應該怎麼實現列印物件的所有屬性呢?在類的實現中重寫description方法。
(二)實現列印物件的所有屬性
(三)區別
+description方法決定了類物件的輸出結果,即類本身
-description方法決定了例項物件的輸出結果,即person建立的物件。
(四)列印相關補充
二、sel
sel:全稱selector 表示方法的儲存位置。
方法在記憶體中是怎麼儲存的?
尋找方法的過程:
(1)首先把test這個方法名包裝成sel型別的資料;
(2)根據sel資料找到對應的方法位址;
(3)根據方法位址呼叫相應的方法。
(4)注意:在這個操作過程中有快取,第一次找的時候是乙個乙個的找,非常耗效能,之後再用到的時候就直接使用。
關於_cmd:每個方法的內部都有乙個-cmd,代表著當前方法。
注意:sel其實是對方法的一種包裝,將方法包裝成乙個sel型別的資料,去尋找對應的方法位址,找到方法位址後就可以呼叫方法。這些都是執行時特性,發訊息就是傳送sel,然後根據sel找到位址,呼叫方法。
OC語言description方法和sel
一 description方法 description方法包括類方法和物件方法。nsobject 類所包含 一 基本知識 description 物件方法 使用nslog和 輸出某個物件時,會呼叫物件的 description 方法,並拿到返回值進行輸出。description 類方法 使用nslo...
OC語言description方法和sel
oc語言 description 方法和sel 一 description方法 description方法包括類方法和物件方法。nsobject 類所包含 一 基本知識 description 物件方法 使用nslog和 輸出某個物件時,會呼叫物件的 description 方法,並拿到返回值進行輸...
OC語言description方法和sel
oc語言 description 方法和sel 一 description方法 description方法包括類方法和物件方法。nsobject 類所包含 一 基本知識 description 物件方法 使用nslog和 輸出某個物件時,會呼叫物件的 description 方法,並拿到返回值進行輸...