2013-01-04 71 views
0

我正在將我的頭撞在磚牆上。我試圖以通常的方式推圖到一個UINavigationController:加載.xib時出現錯誤 - 應用程序崩潰

[[self navigationController]pushViewController:vc animated:YES]; 

當我做這個應用程序崩潰,出現以下錯誤:

__CFStringEncodeByteStream + 17 
Thread 1: EXC_BAD_ACCESS (code=2,address=xxxxx) 

現在,我已經更換了的ViewController問題與由XCode提供的模板,我沒有得到錯誤,所以問題必須與我的UIViewController類。此外,如果我用模板UIViewController類的nib名稱替換它的作品.i.e。

MyViewController *myVc = [[MyViewController alloc]initWithNibName:@"XCodeViewController" bundle:nil]; 

這使我認爲問題實際上是與筆尖而不是類本身。我檢查了所有的連接,沒有錯誤或警告。

希望有人可以提供幫助。

謝謝

+0

你應該在你'MyViewController' – Raptor

+0

有很多內MyViewController調用外部類的,但如果我按照上面的過程,我稱之爲發佈更多的代碼在構造函數中使用不同的nib名稱,然後邏輯被完美地執行。這是什麼讓我覺得問題出在文件的.xib您 – JordanMazurke

+0

初始化代碼更改爲'MyViewController * myVc = [[MyViewController的alloc] initWithNibName:@ 「XCodeViewController」 捆綁:一個NSBundle mainBundle];'' – Popeye

回答

0

檢查您的筆尖是否已添加到應用程序包中。您可以通過選擇項目文件 - >構建階段 - >複製包資源來實現這一點。 如果不存在,請添加它。

昨天我有同樣的問題,這是問題所在。

我希望它有幫助。

+0

感謝您的迴應,但這不是問題。所有xib都包含在捆綁資源 – JordanMazurke

0

需要更多信息來回答,我可以給出幾個可能性。

檢查類名是否在身份檢查器中正確映射。 並檢查您的連接。如果您的視圖被映射到xib等。 如果您在運行低於6.0 &的操作系統中運行應用程序,並使用自動佈局等功能構建,則會導致崩潰。

有多種可能性。

希望這給了一個洞察力。

+0

是的,啓用自動佈局時,iOS <6會崩潰,但錯誤消息不是「EXC_BAD_ACCESS」。 – Raptor

+0

謝謝傑伊,但我已經檢查過這些。 IB中的所有連接都是正確的,我實際上禁用了視圖的自動佈局。該類也正確映射。這是令人沮喪的,但感謝您的幫助 – JordanMazurke

+0

這是EXC_BAD_ACCESS元素令人擔憂,因爲沒有錯過連接,肯定沒有內存管理不當(我正在使用ARC)。非常困惑 – JordanMazurke

0

我正在處理一個類似於你的非常令人沮喪的錯誤,並且一切都已到位。 新創建的xib被添加到Bundle資源中,沒有nil指針或釋放指針,NSZombieEnabled被設置。文件的所有者設置爲正確的ViewController以及

坐下來與我的高級30分鐘後,我們終於明白什麼是錯的 -

在新創建的廈門國際銀行,你指定文件的所有者後還要ViewController有一個額外的步驟,你需要採取。 您還需要將主視圖的引用出口設置爲文件所有者。最簡單的方法是將引用出口(從連接檢查器)上的「+」號拖動到文檔大綱中的「文件所有者」。在這之後,你只需要點擊彈出的「視圖」,你應該很好。

希望幫助你或其他人面臨同樣的問題

相關問題