oc語言 description方法和sel

2022-09-14 06:39:15 字數 1053 閱讀 9086

description方法包括類方法和物件方法。(nsobject類所包含)

-description(物件方法)

使用nslog和@%輸出某個物件時,會呼叫物件的description方法,並拿到返回值進行輸出。

+description(類方法)

使用nslog和@%輸出某個物件時,會呼叫類物件的description方法,並拿到返回值進行輸出,把整個物件一次性列印出來,列印物件使用%@。

使用@%列印物件如(「@%」,p)預設列印輸出為《類名:記憶體位址》,雖然字串也是物件,但字串在使用@%列印時情況特殊。

重寫description方法,實現對物件所有屬性的列印。

+description方法決定了類物件的輸出結果,即類本身

-description方法決定了例項物件的輸出結果,即person建立的物件。

sel:全稱selector 表示方法的儲存位置。

方法在記憶體中是怎麼儲存的?

尋找方法的過程:

(1)首先把test這個方法名包裝成sel型別的資料;

(2)根據sel資料找到對應的方法位址;

(3)根據方法位址呼叫相應的方法。

(4)注意:在這個操作過程中有快取,第一次找的時候是乙個乙個的找,非常耗效能,之後再用到的時候就直接使用。

關於_cmd:每個方法的內部都有乙個-cmd,代表著當前方法。

通常我們會對description方法進行重現,以實現我們想要的列印結果。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 方法,並拿到返回值進行輸...