背景
app里面用到了折線功能,所以牽扯到了layer的問題,之前運行一直沒有問題,但是在最近一次,一個賬號的數(shù)據(jù)比較復雜,頁面(tableView)在加載后,向下稍微滑動便出現(xiàn)崩潰。
代碼:
[_lineChart.myScrollView.layer.sublayers makeObjectsPerformSelector:@selector(removeFromSuperlayer)];
錯誤原因
Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collectionwas<CALayerArray:0x1f092260> mutated while being enumerated.
具體怎么導致的,并不知道,嘗試了延遲線程加載、拋出異常(會出現(xiàn)繪圖混亂)、循環(huán)移除等方法,然并卵。
解決方法
突然在今天早上靈機一動,為什么我不能直接把sublayer數(shù)組置空?然后代碼就改成了這樣:
_lineChart.myScrollView.layer.sublayers = nil;
問題就這么解決了,我已哭暈在廁所。
當然,問題真正的原因我并沒有找到,希望知道或者有更好方法的私聊我,謝謝!