用 UITableVIewController 處理后臺返回的數(shù)據(jù)時(shí)居凶,在跑完 cellForRow 之后就出現(xiàn)閃退情況冠骄。
而Xcode 并沒有返回錯(cuò)誤的代碼所在裂允,只是在控制臺輸出了這個(gè)錯(cuò)誤:[NSDecimalNumber rangeOfCharacterFromSet:]
開始的時(shí)候以為只是在處理cell 中數(shù)據(jù)時(shí)候時(shí)出現(xiàn)的問題廓旬。
最后發(fā)現(xiàn)际插,是由于后臺的弱語言關(guān)系碘耳,在返回的 json 中,數(shù)字和字符串混合在一起返回框弛。
而 NSString 是強(qiáng)類型辛辨,當(dāng)遇到返回的 json 中帶有數(shù)字時(shí),會(huì)已NSDecimalNumber 形式保存瑟枫。
到了 Cell 處理數(shù)據(jù)時(shí)斗搞,如果沒有當(dāng)做數(shù)字處理,就會(huì)在顯示的時(shí)候出現(xiàn)上述錯(cuò)誤情況慷妙。