背景
公司的其他開發(fā)團(tuán)隊(duì)封裝了一個(gè)通過id獲取圖片的方法,在這個(gè)方法的回調(diào)里通過pushViewController進(jìn)入下一個(gè)頁面.測試時(shí)在單個(gè)設(shè)備上出現(xiàn)了崩潰現(xiàn)象.
崩潰原因
封裝的這個(gè)通過id取圖片的方法在某些異常場景下回調(diào)了兩次, 針對同一個(gè)VC對象,進(jìn)行了兩次push操作,導(dǎo)致崩潰.
解決方案
通過判斷當(dāng)前導(dǎo)航欄的頂端控制器是否是將要彈出的控制器類型,來判斷是否已經(jīng)進(jìn)行了push操作.
if(![self.navigationController.topViewController isKindOfClass[groupLiveBroadcastStartViewController class]])