+[NSTimer scheduledTimerWithTimeInterval:repeats:block:]: unrecognized selector sent to xxx
这两天升级了下,然后更改了以前的代码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相关推荐
- 【小萝莉说Crash】第二期:Unrecognized selector xxx 之 ForwardInvocation
2015年不急不忙地到来,小萝莉为大家奉上新年礼包,祝大家新年快乐,希望开发GGMM们新一年的开发工作更加顺利.安心! ^_^ 在上篇的分享中,小萝莉给大家介绍了一个入门必现的应用崩溃问题 -- Un ...
- 静态库调用中“unrecognized selector sent to instance”错误
在开发调用静态库的中,出现 "unrecognized selector sent to instance 0x2b5f90"的错误 -[__NSCFConstantString ...
- ios unrecognized selector sent to instance出现的原因和解决方案
概述:造成unrecognized selector sent to instance iphone,大部分情况下是因为对象被提前release了,在你心里不希望他release的情况下,指针还在,对 ...
- 错误提示[__NSArrayI addObjectsFromArray:]: unrecognized selector的原因和解决方法
操作NSMutableArray数字增加和删除时候出现崩溃,报错[__NSArrayI addObjectsFromArray:]: unrecognized selector. 找了一个小时,发&q ...
- unrecognized selector sent to instanceAuto property synthesis will not synthesize property
程序运行崩溃 :'NSInvalidArgumentException', reason: '-[MyAnnotation setCoordinate:]: unrecognized selector ...
- iOS开发之 [NSNull length]:unrecognized selector sent
2019独角兽企业重金招聘Python工程师标准>>> 错误 [NSNull length]:unrecognized selector sent to instance 这个错误是 ...
- IOS微信API异常:unrecognized selector sent to instance 0x17005c9b0'
2019独角兽企业重金招聘Python工程师标准>>> 开发IOS整合微信API的时候,在运行程序的过程中可能会在注册你的APPID的时候抛出此异常而导致程序崩溃. 异常描述 [76 ...
- 【iOS】使用storyboard界面跳转报错:unrecognized selector sent to instance 0x7
使用storyboard直接model界面跳转的时候出现报错:unrecognized selector sent to instance 0x7... 网上查了相似的问题但是依旧没有找到解决方法,后 ...
- IOS微信API异常:unrecognized selector sent to instance 0x17005c9b0‘
IOS微信API异常:unrecognized selector sent to instance 0x17005c9b0' 参考文章: (1)IOS微信API异常:unrecognized sele ...
最新文章
- SegmentFault 助力 Uber Hackathon
- 自然语言交流系统 phxnet团队 创新实训 个人博客 (二)
- Linux工作笔记-ssh中-X属性的使用(Linux传界面)
- Bind Call Apply(改变this指向)
- Android开发:Menu选项菜单
- 《Head First 设计模式》阅读笔记(一)——策略模式
- wlnmp+nginx+mysql+php集合包_LNMP(Linux+Nginx+MySQL+PHP)部署详解(一)
- 驳文不看文,实在可怕
- python高维数据存储_Numpy高维数据的理解
- 文字处理技术:复杂的行宽计算
- c语言程序设计自考真题,自学考试《C语言程序设计》随堂试题及答案
- 百度有啊前端框架分析(浏览器内置事件)
- xz压缩文件的解压缩过程
- 七、Selenium模拟浏览器
- Android 锁屏后Service服务保活(支持9.0)
- c++ eos智能合约开发_EOS智能合约开发点滴记录-第二篇智能合约编写
- 通过IP如何找到对应的MAC地址的
- 答辩提问问题php代码,答辩会问到什么问题
- 内部类都有哪些?什么是内部类
- 工具使用|利用工具实现微信公众号文章中代码部分的排版~
热门文章
- BeautifulSoup_第二节
- 454. 4Sum II
- vsxxxx Avalon 感知提示
- (2) 第二章 WCF服务与数据契约 服务契约详解(二)- 如何引用WCF提供的服务
- 第 19 章 XML映射
- C#利用ICSharpCode.SharpZipLib.dll压缩文件和解压文件
- Bitmap too larget to be uploaded into a texture的解决方法
- 80端口被占用pid 4,svhost等占用的解决方法
- 解决PhpStorm卡顿的问题
- (笔记)Linux Root下的.gvfs出现异常解决办法