objc_getClass和object_getClass工作上能被逼哭的问题

今天遇到一个超级奇葩的问题。。。先说一下场景,在发版提审前,产品给了一个需求。要我们预留一个webview的外链跳转,但是还不确定链接的地址。我们就先做了一个跳转我们html5的wkwebview,然后等js把地址传过来的时候,我们再把当前的webview替换掉。

如图。。。然后就出了一个问题,因为没有push/pop进出栈,tabbar出现在webview上面了,本来想着直接隐藏就行了,结果返回rootviewcontroller也没有显示。就想重写系统的setViewControllers:animated:方法,引入tabbar的隐藏属性。

接下来就是让我头疼的时候了,我习惯性的写好方法

然后用调用

[object_getClass(@"UINavigationController") swizz:@selector(setViewControllers:animated:) withToMeth:@selector(swizzSetViewController:animated:)];    ❗️//错误的写法。。。❗️

就悲剧了,怎么都找不到SwizzMeth和meth方法,找伙伴来看了半天也找不到,急死了。好吧,最后过了以一个多小时才发现问题所在,自己百度以后试了一下

正确的写法哦🙆‍♂️

然后就又找了objc_getClass和object_getClass的区别。

这两种写法都可以,一种是c语言的写法获取当前类的实例或者类方法,一种是oc的。一个是传入类名返回类的对象,一个是传入instance对象或者class对象,返回class对象。终于完美解决了问题。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一.swift没有oc那个[nsstring stringwithformart...]的方法,然后现在想要拼接变...
    OwenKing阅读 230评论 0 2
  • 2018年最大的就是改变的很多认知,从哪一天说起呢?也不知道从哪一天,大概就是订阅了李笑来老师的《通往财富自由之路...
    夏丽莎阅读 518评论 3 3
  • 这周有一个家庭邀请我周一晚上去家访,我太忙了,也不想耽误孩子晚上写作业的时间。就另约了。另有两个家庭邀请我随时家访...
    布衣ysy阅读 848评论 1 27
  • 零点钟声一过,时间已迈入2019年了。 在刚刚,我把知乎、简书、微博、人人都是产品经理、微信公众号的ID都从“俊杰...
    吴俊杰Jerric阅读 365评论 0 0
  • 又到了交作业的日子,从2019年的第一个工作日开始就想着写却一直拖延到今天。打开文本,脑子一片空白,不知道写...
    非典型摩羯小阿姨阅读 299评论 0 2