美文网首页
iOS 重定向的使用

iOS 重定向的使用

作者: Sweet丶 | 来源:发表于2018-01-22 15:06 被阅读181次

在iOS开发写页面时,有时因为写得急,误将[self.view addSubview:view]写成self, 或因创建控件的方法抽取了所以传参的时候误写成self,然后在运行看效果的时候就会报错“unrecognized selector sent to instance 0x7f8a257535b0

报错的原因是传的“self"未找到方法的实现,这个很明确知道是UIView的实例方法。所以可以运用重定向的方式,将方法转交给self.view去实现。具体代码如下,可在项目的baseviewcontroller里面写实现

// 重定向技术:解决项目中有时使用在controller添加subview时传入的是控制器的问题
+ (BOOL)resolveInstanceMethod:(SEL)sel
{  
  SEL mothod = @selector(addSubview:);  
  if (mothod == sel) {// 添加子view    
    return YES;  
  }    
 return [super resolveInstanceMethod:sel];
}
 - (id)forwardingTargetForSelector:(SEL)aSelector
{
    if (aSelector == @selector(addSubview:)) {    
     return self.view;  
   }    
 return [super forwardingTargetForSelector:aSelector];
 }

完毕,谢谢!

相关文章

  • iOS 重定向的使用

    在iOS开发写页面时,有时因为写得急,误将[self.view addSubview:view]写成self, 或...

  • 第07章重定向管道

    输出重定向案例 > < 脚本中使用重定向 2.输入重定向及结合案例 管道 | 重定向和管道的符号对比。重定向输出到...

  • Linux高级

    一.重定向命令 学习目标 能够使用重定向命令将终端显示内容重定向到文件 1. 重定向命令的介绍 重定向也称为输出重...

  • 使用NSURLSession进行重定向

    使用URLSession进行重定向 遵守代理如下,completionHandler(nil)则拦截重定向;

  • Linux清空文件的几种方法

    1、使用重定向的方法 2、使用true命令重定向清空文件 3、使用cat/cp/dd命令及/dev/null设备来...

  • 微信公众号踩坑

    1:服务端返回一个url需要前端重定向到这个url,IOS上可以重定向,安卓不行

  • 使用linux三剑客做一些事情

    重定向 yum grouplistecho命令:打印输出内容输出重定向:>或者1>使用是覆盖追加输出重定向:>>或...

  • 本人遇到的微信端分享链接错误的处理方式

    1.bug问题复现(bug问题出现情况) ios在微信浏览器使用,从A页面进入,然后授权登录后(重定向后进入)。进...

  • 第十二天 重定向 管道

    今日内容 1 . 什么是重定向? 2 . 为什么要使用重定向? 3 . 学习重定向需要了解的标准输入、标准输出、错...

  • laravel中重定向和抛错

    重定向路径一般我们在判断中会使用到重定向redirect() 使用withErrors('自定义错误!');抛出错误

网友评论

      本文标题:iOS 重定向的使用

      本文链接:https://www.haomeiwen.com/subject/sablaxtx.html