其作用相當於函式指標,現在我看到的大多說用法都是在呼叫某些函式需要傳遞乙個 函式指標 引數時,使用@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...