博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS的反射机制之方法调用
阅读量:5013 次
发布时间:2019-06-12

本文共 875 字,大约阅读时间需要 2 分钟。

在ViewController载入的时候,生成并添加Invocation

[self  addInvocation:WebServcieAddressTextselector:@selector(invokeTest)];

 

-(void)addInvocation:(NSString*)title selector:(SEL)selector{

    

    NSMethodSignature *methodSignature = [[selfclassinstanceMethodSignatureForSelector:selector];//获得类和方法的签名

    NSInvocation *invocation = [NSInvocationinvocationWithMethodSignature:methodSignature];

    //从签名获得调用对象

    [invocation setTarget:self];

    invocation.target=self;

    invocation.selector=selector;

    

    [invocationArrayaddObject:invocation];

    [titleArrayaddObject:title];

}

-(void)invokeTest{

    NSLog(@"Test invoked");

}

 

点击UITableView中的某一行的时候,根据IndexPath读取出NSInvocation,并且执行。

 

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

{

    NSInvocation*invc=[invocationArrayobjectAtIndex:indexPath.row];

    [invc invoke];

}

 

转载于:https://www.cnblogs.com/taojigu/archive/2013/02/16/2913719.html

你可能感兴趣的文章
分页类
查看>>
Python装饰器的个人小理解
查看>>
为什么百万医疗险越来越多,到底选哪款?
查看>>
如何检测 51单片机IO口的下降沿
查看>>
扫描识别控件Dynamic .NET TWAIN使用教程:如何将事件添加到应用程序中
查看>>
创建和修改主键 (SQL)
查看>>
2018-2019 ICPC, NEERC, Southern Subregional Contest(训练记录)
查看>>
20145233 《信息安全系统设计基础》第7周学习总结
查看>>
linux设备驱动程序第3版学习笔记(例程2--hellop.c)
查看>>
玩转storm
查看>>
第10章 使用Apache服务部署静态网站
查看>>
关于给予webApp框架的开发工具
查看>>
c语言编写的生成泊松分布随机数
查看>>
Maven入门笔记
查看>>
iOS webView的常见属性和方法
查看>>
理解position:relative
查看>>
Codeforces Round #344 (Div. 2) Messager KMP的应用
查看>>
20145308刘昊阳 《Java程序设计》第4周学习总结
查看>>
js倒计时
查看>>
EasyUI datagrid 格式 二
查看>>