2017.05.17
問題:可以同時點擊多個按鈕,有時候會造成業(yè)務上的問題
解決:適配8.0+, 使用category + RunTime 的方法實現(xiàn)整個app所有的Button exclusiveTouch 的統(tǒng)一設置。也可以全局配置 [[UIButton appearance] setExclusiveTouch:YES];文件地址
2018.08.23
問題:調用tableView 的 reloadData 會 導致crash ,log 輸出 "tableView:didEndDisplayingCell:forRowAtIndexPath:]: unrecognized selector"
解決:公司接入GrowingIO 埋點,GrowingIO內部對tableview 的 reloadData 進行了setAssociated(代碼閉源的,只能這樣猜測),這種情況一般不會出現(xiàn)問題,但是工程代碼中,卻因為業(yè)務原因給self 通過runtime 方式添加了屬性,并在調用 [self.tableView reloadData] 前調用了,objc_removeAssociatedObjects(self);該方法,會移除所有跟self 相關的Associated,把GrowingIO 的 Associated 一并去除,導致,GrowingIO 找不到要執(zhí)行的函數(shù),從而導致crash,并輸出 "xxx unrecognized selector" error log;