問(wèn)題:在調(diào)用pushViewController的時(shí)候程序崩潰
應(yīng)用有這樣一個(gè)功能,點(diǎn)擊推送通知可以跳轉(zhuǎn)到對(duì)應(yīng)的一個(gè)消息界面,
但這個(gè)界面是從另一個(gè)Controller Push進(jìn)來(lái)的,所以,問(wèn)題來(lái)了,當(dāng)我已經(jīng)在APP中手動(dòng)打開(kāi)了這個(gè)消息界面時(shí),我再去點(diǎn)擊通知欄的消息,這時(shí)會(huì)再次調(diào)用這個(gè)push方法,于是程序就會(huì)崩潰,
報(bào)錯(cuò):
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Pushing the same view controller instance more than once is not supported 。。。。'
所以在push之前先做個(gè)判斷:
if(![self.navigationController.topViewController isKindOfClass:[_pageController class]]) {
[self.navigationController pushViewController:_pageController animated:YES];
}
問(wèn)題解決??????