日常问题

2017.05.17
问题:可以同时点击多个按钮,有时候会造成业务上的问题
解决:适配8.0+, 使用category + RunTime 的方法实现整个app所有的Button exclusiveTouch 的统一设置。也可以全局配置 [[UIButton appearance] setExclusiveTouch:YES];文件地址

2018.08.23
问题:调用tableView 的 reloadData 会 导致crash ,log 输出 "tableView:didEndDisplayingCell:forRowAtIndexPath:]: unrecognized selector"
解决:公司接入GrowingIO 埋点,GrowingIO内部对tableview 的 reloadData 进行了setAssociated(代码闭源的,只能这样猜测),这种情况一般不会出现问题,但是工程代码中,却因为业务原因给self 通过runtime 方式添加了属性,并在调用 [self.tableView reloadData] 前调用了,objc_removeAssociatedObjects(self);该方法,会移除所有跟self 相关的Associated,把GrowingIO 的 Associated 一并去除,导致,GrowingIO 找不到要执行的函数,从而导致crash,并输出 "xxx unrecognized selector" error log;

你可能感兴趣的:(日常问题)