iOS 11 适配 RAC警告问题解决方案

RAC警告问题解决方案

#####问题: xcode9 中,在开发ios应用时,会发现第三方库ReactiveCocoa出现这样的问题

  • 报警告如下
  • ReactiveCocoa Unknown warning group ‘-Wreceiver-is-weak’,ignored...


#####ReactiveCocoa中:

RACObserve宏定义如下:

原因:
  • 此前,如果Xcode中的消息接受者是一个weak对象,clang编译器会报receiver-is-weak警告,所以加了这段push&pop代码,最新的clang已经把这个警告给移除,所以没必要加push&pop了。

改为下面这样就可以:

#define RACObserve(TARGET, KEYPATH) \
	({ \
		__weak id target_ = (TARGET); \
		[target_ rac_valuesForKeyPath:@keypath(TARGET, KEYPATH) observer:self]; \
	})
复制代码

修改时可能要解锁Podfile文件,因为ReactiveCocoa已经不再对Objective-C进行维护,如果你的项目中用到它,最好不要再去更新.因为它的最新稳定版是2.5版,在此基础上,你修改其中的一个预防警告的代码,是不会影响这个库对项目的影响的.


如果有其他好的方案,或者对本文有什么问题,可以在 留言中讨论,谢谢各位指正

转载于:https://juejin.im/post/5a39dcd96fb9a0452405f819

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值