NSInvocation

在 iOS中可以直接調(diào)用某個(gè)對(duì)象的消息方式有三種:
一種是[self xxxxxxx];直接對(duì)象調(diào)用
另一種是 performSelector:withObject;
再一種就是 NSInvocation。比較復(fù)雜,容易出錯(cuò)

NSMethodSignature  *signature = [object instanceMethodSignatureForSelector:@selector(run:)];
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature];
invocation.target = self;
//注意:這里的方法名一定要與方法簽名類(lèi)中的方法一致
invocation.selector = @selector(run:);
NSString *way = @"byCar";
//這里的Index要從2開(kāi)始,以為0跟1已經(jīng)被占據(jù)了,分別是self(target),selector(_cmd)
[invocation setArgument:&way atIndex:2];
//3、調(diào)用invoke方法
[invocation invoke];
- (void)run:(NSString *)method{
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一. 官網(wǎng)的理論 1. Timer必須知道的某些事 看了下Timer的官方解釋,發(fā)現(xiàn)里面包含了某些我們必須知道的事...
    金風(fēng)細(xì)細(xì)閱讀 1,133評(píng)論 0 1
  • 在 iOS中可以直接調(diào)用 某個(gè)對(duì)象的消息 方式有2種 performSelector:withObject: NS...
    winning_閱讀 4,208評(píng)論 1 4
  • 小知識(shí): 在 iOS中可以直接調(diào)用某個(gè)對(duì)象的消息方式有兩種:一種是performSelector:withObje...
    圣僧留步閱讀 1,486評(píng)論 0 0
  • 日前,開(kāi)始大量的思考自己的未來(lái),可是發(fā)現(xiàn),走到現(xiàn)在,自己真的毫無(wú)所有,沒(méi)有特殊的才能,沒(méi)有可以讓自己自信的作品,而...
    Zensunshine閱讀 201評(píng)論 0 1
  • 拿到這本書(shū)的時(shí)候,我就給自己設(shè)定了目的。 就是如何才能在教育教學(xué)以及自我思考中提出更有價(jià)值,更觸及本質(zhì)核心的問(wèn)題。...
    大雄老師will閱讀 408評(píng)論 2 3

友情鏈接更多精彩內(nèi)容