这两天升级了下,然后更改了以前的代码NSTimer,这个方法会造成循环引用。

[NSTimer scheduledTimerWithTimeInterval:0.2 target:self selector:@selector(showUp) userInfo:nil repeats:NO];

所以改成了下面代码,但是发现升级后,有用户反馈崩溃了,根据友盟提供的崩溃日志找到了源头,

[NSTimer scheduledTimerWithTimeInterval:0.2 repeats:NO block:^(NSTimer * _Nonnull timer) {}];

然后点进源码一看,才发现了错误,这是iOS10之后才支持的,所以会报错,导致崩溃。

+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)interval repeats:(BOOL)repeats block:(void (^)(NSTimer *timer))block API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0));

解决办法,新建一个类继承NSProxy,实现消息转发,forwardingTargetForSelector这个方法是直接打不出来的,因为NSProxy是没有这个方法的什么,但是也同样是可以达到消息转发。

@interface MMProxy : NSProxy+ (instancetype)proxyWithTarget:(id)target;@end#import "MMProxy.h"@interface MMProxy()@property (nonatomic, weak) id object;@end@implementation MMProxy+ (instancetype)proxyWithTarget:(id)target{MMProxy *proxy = [MMProxy alloc];proxy.object = target;return proxy;
}- (id)forwardingTargetForSelector:(SEL)aSelector{return self.object;
}@end

+[NSTimer scheduledTimerWithTimeInterval:repeats:block:]: unrecognized selector sent to xxx相关推荐

  1. 【小萝莉说Crash】第二期:Unrecognized selector xxx 之 ForwardInvocation

    2015年不急不忙地到来,小萝莉为大家奉上新年礼包,祝大家新年快乐,希望开发GGMM们新一年的开发工作更加顺利.安心! ^_^ 在上篇的分享中,小萝莉给大家介绍了一个入门必现的应用崩溃问题 -- Un ...

  2. 静态库调用中“unrecognized selector sent to instance”错误

    在开发调用静态库的中,出现 "unrecognized selector sent to instance 0x2b5f90"的错误 -[__NSCFConstantString ...

  3. ios unrecognized selector sent to instance出现的原因和解决方案

    概述:造成unrecognized selector sent to instance iphone,大部分情况下是因为对象被提前release了,在你心里不希望他release的情况下,指针还在,对 ...

  4. 错误提示[__NSArrayI addObjectsFromArray:]: unrecognized selector的原因和解决方法

    操作NSMutableArray数字增加和删除时候出现崩溃,报错[__NSArrayI addObjectsFromArray:]: unrecognized selector. 找了一个小时,发&q ...

  5. unrecognized selector sent to instanceAuto property synthesis will not synthesize property

    程序运行崩溃 :'NSInvalidArgumentException', reason: '-[MyAnnotation setCoordinate:]: unrecognized selector ...

  6. iOS开发之 [NSNull length]:unrecognized selector sent

    2019独角兽企业重金招聘Python工程师标准>>> 错误 [NSNull length]:unrecognized selector sent to instance 这个错误是 ...

  7. IOS微信API异常:unrecognized selector sent to instance 0x17005c9b0'

    2019独角兽企业重金招聘Python工程师标准>>> 开发IOS整合微信API的时候,在运行程序的过程中可能会在注册你的APPID的时候抛出此异常而导致程序崩溃. 异常描述 [76 ...

  8. 【iOS】使用storyboard界面跳转报错:unrecognized selector sent to instance 0x7

    使用storyboard直接model界面跳转的时候出现报错:unrecognized selector sent to instance 0x7... 网上查了相似的问题但是依旧没有找到解决方法,后 ...

  9. IOS微信API异常:unrecognized selector sent to instance 0x17005c9b0‘

    IOS微信API异常:unrecognized selector sent to instance 0x17005c9b0' 参考文章: (1)IOS微信API异常:unrecognized sele ...

最新文章

  1. SegmentFault 助力 Uber Hackathon
  2. 自然语言交流系统 phxnet团队 创新实训 个人博客 (二)
  3. Linux工作笔记-ssh中-X属性的使用(Linux传界面)
  4. Bind Call Apply(改变this指向)
  5. Android开发:Menu选项菜单
  6. 《Head First 设计模式》阅读笔记(一)——策略模式
  7. wlnmp+nginx+mysql+php集合包_LNMP(Linux+Nginx+MySQL+PHP)部署详解(一)
  8. 驳文不看文,实在可怕
  9. python高维数据存储_Numpy高维数据的理解
  10. 文字处理技术:复杂的行宽计算
  11. c语言程序设计自考真题,自学考试《C语言程序设计》随堂试题及答案
  12. 百度有啊前端框架分析(浏览器内置事件)
  13. xz压缩文件的解压缩过程
  14. 七、Selenium模拟浏览器
  15. Android 锁屏后Service服务保活(支持9.0)
  16. c++ eos智能合约开发_EOS智能合约开发点滴记录-第二篇智能合约编写
  17. 通过IP如何找到对应的MAC地址的
  18. 答辩提问问题php代码,答辩会问到什么问题
  19. 内部类都有哪些?什么是内部类
  20. 工具使用|利用工具实现微信公众号文章中代码部分的排版~

热门文章

  1. BeautifulSoup_第二节
  2. 454. 4Sum II
  3. vsxxxx Avalon 感知提示
  4. (2) 第二章 WCF服务与数据契约 服务契约详解(二)- 如何引用WCF提供的服务
  5. 第 19 章 XML映射
  6. C#利用ICSharpCode.SharpZipLib.dll压缩文件和解压文件
  7. Bitmap too larget to be uploaded into a texture的解决方法
  8. 80端口被占用pid 4,svhost等占用的解决方法
  9. 解决PhpStorm卡顿的问题
  10. (笔记)Linux Root下的.gvfs出现异常解决办法