Object C函式指標 selector

2022-03-29 18:18:42 字數 677 閱讀 6955

其作用相當於函式指標,現在我看到的大多說用法都是在呼叫某些函式需要傳遞乙個 函式指標 引數時,使用@selector。它會在當前類裡面查詢selector後面所跟的函式,返回乙個sel型別的值。

sel變數的執行.用performselecor方法來執行.

[物件 performselector:sel變數 withobject:引數1 withobject:引數2];

在呼叫respondstoselector:@selector(method)時,這個method只有在該方法存在引數時需要 ":",如果該方法不需要引數就不需要加這個冒號。否則,編譯不會報錯,只是執行返回的值不對。當然如果方法有多個引數,需要多個冒號,引數有名稱的需要帶上引數名稱。

如:有如下方法:

-(nsstring*)toxmlstring;

此時呼叫類似於:

[self respondstoselector:@selector(toxmlstring)]

如果toxmlstring方法的定義為:

-(nsstring*)toxmlstring:(nsstring*)prefix;

那麼呼叫就必須加上冒號,如:[self respondstoselector:@selector(toxmlstring:)]

本文出自 「人生得意須盡歡」 部落格,請務必保留此出處

Object c 指向指標的指標

要求從外部定義乙個函式,改變main函式裡c的值 步驟 1.呼叫函式,如果要在外部修改main函式中變數的值,需要把這個值的位址傳給函式.c 2.在外部函式中,利用指標將指向c的值修改.1 void changec char p 89 int main int argc,const char ar ...

Object C 指標變數強制型別轉換

除了id型別外,指標變數只能呼叫它編譯時型別的方法。而不能呼叫它執行時型別的方法,即使它實際所指向的物件包含該方法。如果需要讓這個指標變數呼叫執行時型別的方法,就需要強制型別轉換。import intmain intargc,const char argv return0 2014 11 29 15...

Object C 指標變數強制型別轉換

除了id型別外,指標變數只能呼叫它編譯時型別的方法。而不能呼叫它執行時型別的方法,即使它實際所指向的物件包含該方法。如果需要讓這個指標變數呼叫執行時型別的方法,就需要強制型別轉換。import intmain intargc,const char ar return0 2014 11 29 15 2...