解决调用performSelector产生警告问题

if ([self.dockView respondsToSelector:NSSelectorFromString(@"setSubViews")]) {
    // 这样会产生警告
    // [self.dockView performSelector:NSSelectorFromString(@"setSubViews")];
    SEL selector = NSSelectorFromString(@"setSubViews");
    IMP imp = [self.dockView methodForSelector:selector];
    void (*func)(id, SEL) = (void *)imp;
    func(self.dockView, selector);
}

下面是带参数情况

SEL selector = NSSelectorFromString(@"processRegion:ofView:");
IMP imp = [_controller methodForSelector:selector];
CGRect (*func)(id, SEL, CGRect, UIView *) = (void *)imp;
CGRect result = func(_controller, selector, someRect, someView);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,464评论 0 4
  • 原文地址:C语言函数调用栈(一)C语言函数调用栈(二) 0 引言 程序的执行过程可看作连续的函数调用。当一个函数执...
    小猪啊呜阅读 10,227评论 1 19
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,587评论 19 139
  • 寒潮来袭,天真的冷了。寒来暑往,四季更迭,亘古不变,这就是岁月,默默流逝,等我们不经意回头,一切猝不及防。 岁月带...
    若素向阳阅读 988评论 0 0
  • 自我介绍: 小伙伴们大家好!我的真名叫田野,我来自湖北孝感,目前在经营一家小便利店。最大的爱好是读书,唯有读书...
    史考克灰狼阅读 2,860评论 4 1