查询一个按钮是否绑定了某方法,开销会不会很大?

五虎将 2017-11-30 03:40:56
现在我试了一下查询方法的,检查按钮是否跟一个方法绑定了起来,发现查不到,只能查一个UIViewController动态添加的方法。代码在下面,有什么问题吗?

unsigned long imp_address = 0;
SEL buttonBackFunc_selector = @selector(clickBackButtonToHigerLevel:);
if([ViewControllertest checkExistenceOfAMethdInGivenClass:buttonBack selector:buttonBackFunc_selector imp_address:&imp_address]){
DBGLOG(@"clickBackButtonToHigerLevel");
}

+(BOOL) checkExistenceOfAMethdInGivenClass:(id)inspectObj selector:(SEL)ASelector imp_address:(unsigned long *)imp_address
{
unsigned long returnAddress = (unsigned long)__builtin_return_address(0);
Class class_self = object_getClass(inspectObj);
uint method_count;
Method *methodList = class_copyMethodList(class_self, &method_count);
NSString *self_name = [inspectObj class];
for(int i = 0;i < method_count;i++)
{
Method method = methodList[ i ];
SEL sel_method = method_getName(method);
if(!sel_isEqual(ASelector, sel_method)){
continue;//Ignore methods with different selectors
}
NSString *sn = NSStringFromSelector(sel_method);
IMP implement = method_getImplementation(method);
unsigned long address = (unsigned long)implement;
DBGLOG(@"%@,method_name%d:%@,address=:%lu",self_name,i,sn,address);
if(address > returnAddress)
{
*imp_address = address;
free(methodList);methodList = NULL;
return YES;
}
}
free(methodList);methodList = NULL;
*imp_address = NULL;
return NO;
}
...全文
303 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
相信一部分同学应该知道这个项目,项目的灵感主要来自于线下。在某个人流量较大的街道地段,摆一张桌子,两个纸箱,一个装男生微信与留言,另一个装女生微信与留言,拿一个、放一个都是1元钱。主要是这样的一个盈利模式。我们本次教程的主要内容就是制作这样一款线上的 盲盒脱单 应用。项目主要依托于微信公众号,在微信公众号底部菜单进入到线上摊位,静默登录绑定微信用户身份,同样也是两个纸箱,一个装男生微信与留言,另一个装女生微信与留言,拿一个、放一个都是1元钱,当然这个价格我们在后台可以通过配置文件去修改。本教程主要以实战开发为主,主要讲解的知识点是整个项目的开发流程、开发思维。我们对某一项知识点如:Laravel、html布局等进行入门级深度讲解,对于涉及到的一些理论知识点,我们进行简单介绍,告诉你这个东西是干什么用的,如何快速使用。系统化学习了解需要同学们在课下通过搜索引擎去查询学习。当然,我们在教程资料中留下每个知识点的相关学习资料。比如:前端相关知识 Flex 弹性布局在教程开发中用到,我们对 Flex 所能实现的效果做大致的讲解,以及教程中使用或常用的一些属性进行说明,但是整个 Flex 的系统性学习,需要你在课下通过教程资料中所留学习资料或搜索解读学习。

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧