你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS 開辟中 NavigationController常常湧現的成績緣由剖析

iOS 開辟中 NavigationController常常湧現的成績緣由剖析

編輯:IOS開發綜合

情形一:

MyViewController *sampleViewController = [[[MyViewController alloc]initWithXXX] autorelease]; 
[self.navigationController pushViewController: sampleViewController animated:true];

BUG:界面無反響

剖析能夠失足的緣由:

1:self.navigationController為nil,空指針履行pushViewController直接跳過,接著sampleViewController會釋放失落,所以界面會無反響。

self.navigationController為神馬會空呢?navigationController是UIViewController父類繼續來的屬性,不是隨意都能用的,除非你以後viewController是被nav push出去的,或許用xib/代碼做成navigationcontroller的root了,cocoa的代碼應當是給賦值了。(題外話,我許多界面就是部分用了某個ViewController,這類情形該viewController的nav為空,假如要准確應用,可以從app取,可以本身賦值,可以全體界面取。。。想咋取都行)

2、self.navigationController為nil,界面掛了

假如你sampleViewController用到了收集異步要求,在initWithXXX的時刻會去取數,那末你10有89會掛失落。

緣由剖析:年夜家收集要求,常常以下:

TwitterClient *twitterClient = [[TwitterClient alloc] initWithtarget:self action:@selector(XXXReceive:obj:)];
[twitterClient getXXX:param];

祝賀你,這類情形不論是否是navigationController為空,你法式極輕易掛失落,緣由就是由於收集要求我們都邑用異步方法來拉取數據,當數據回來以後,會回調到本類的XXXReceive:obj辦法,然則假如界面加入了,數據才收到將若何?那就是否是空指針挪用了,TwitterClient裡記載的須要回調的內存地址上神馬情形都有能夠是,回調。。杯具了

處理方法:twitterClient做成成員,在析構的時刻該咋整理twitterClient的就咋整理一下吧

3、self.navigationController為nil,界面掛了

和上文一樣twitterClient成員了,dealloc也清算了現場,照樣會掛

緣由剖析:異步的成績,twitterClient曾經取到數據,然則sampleViewController曾經被釋放了,but dealloc基本沒來得及出去。。。

處理方法,1:確保nav准確,2:盡可能在界面viewDidLoad的時刻收集要求數據,在dispear的時刻清算收集。

情形二:

reason: 'Pushing a navigation controller is not supported'

報下面的毛病,緣由是:

年夜家曉得,可以將ViewController push到一個 NavigationController中。就像是入棧操作!

將一個NavigationController再次push到NavigationController中時,報錯,出現了

reason: 'Pushing a navigation controller is not supported'的毛病。

應當是,NavigationController不支撐push進來的對象是NavigationController吧。

修正辦法是:將要進入的頁面不去繼續UINavigationController

情形三:

有時刻項目裡會有一種新聞推送, 就是彈出提醒用戶新聞, 而新聞中帶有鏈接, 當你點擊銜接時不克不及跳轉,這類情形是由於你的self.navigationController = nil 形成的,由於你彈窗的誰人掌握器沒有效UINavigationController包裝

以上所述是小編給年夜家引見的IOS 開辟中 NavigationController常常湧現的成績緣由剖析,願望對年夜家有所贊助,假如年夜家有任何疑問請給我留言,小編會實時答復年夜家的。在此也異常感激年夜家對本站網站的支撐!

【iOS 開辟中 NavigationController常常湧現的成績緣由剖析】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved