ios開發(fā)中兩個常見問題解決方法來啦!大家知道蘋果手機(jī)使用的是ios系統(tǒng),而且用戶量很龐大,所以ios開發(fā)也成了很熱門的行業(yè)。下文小樂哥給大家?guī)韎os開發(fā)中兩個常見問題解決方法,希望給技術(shù)員在ios開發(fā)中起到幫助作用!
ios開發(fā)中兩個常見問題解決方法
一、“Unknown class XXViewController in Interface Builder file.”問題處理
最近在靜態(tài)庫中寫了一個XXViewController類,然后在主工程的xib中,將xib的類指定為XXViewController,程序運(yùn)行時,報了如下錯誤:
“Unknown class XXViewController in Interface Builder file.”
之前也遇到這個問題,但已記得不太清楚,所以又開始在stackoverflow上找答案。
其實這個問題與Interface Builder無關(guān),最直接的原因還是相關(guān)的symbol沒有從靜態(tài)庫中加載進(jìn)來。這種問題的處理就是在Target的&

二、關(guān)于“Unbalanced calls to begin/end appearance transitions for…”問題的處理
我們的某個業(yè)務(wù)有這么一個需求,進(jìn)入一個列表后需要立馬又push一個web頁面,做一些活動的推廣。在iOS8上,我們的實現(xiàn)是一切OK的;但到了iOS7上,就發(fā)現(xiàn)這個web頁面push不出來了,同時控制臺給了一條警告消息,即如下:
“Unbalanced calls to begin/end appearance transitions for ...”
在這種情況下,點擊導(dǎo)航欄中的返回按鈕時,直接顯示一個黑屏。
我們到stackoverflow上查了一下,有這么一段提示:
“occurs when you try and display a new viewcontroller before the current view controller is finished displaying.”
意思是說在當(dāng)前視圖控制器完成顯示之前,又試圖去顯示一個新的視圖控制器。
于是我們?nèi)ヅ挪榇a,果然發(fā)現(xiàn),在viewDidLoad里面去做了次網(wǎng)絡(luò)請求操作,且請求返回后就去push這個web活動推廣頁。此時,當(dāng)前的視圖控制器可能并未顯示完成(即未完成push操作)。
“Basically you are trying to push two view controllers onto the stack at almost the same time.”
當(dāng)幾乎同時將兩個視圖控制器push到當(dāng)前的導(dǎo)航控制器棧中時,或者同時pop兩個不同的視圖控制器,就會出現(xiàn)不確定的結(jié)果。所以我們應(yīng)該確保同一時間,對同一個導(dǎo)航控制器棧只有一個操作,即便當(dāng)前的視圖控制器正在動畫過程中,也不應(yīng)該再去push或pop一個新的視圖控制器。
所以最后我們把web活動的數(shù)據(jù)請求放到了viewDidAppear里面,并做了些處理,這樣問題就解決了!
注:更多精彩教程請關(guān)注電腦高手設(shè)計教程 欄目,
新聞熱點
疑難解答
圖片精選