我在模擬器3.1.3上測試我的應用程序,它運行正常。 當它來到模擬器3.2,它從一開始就崩潰了:在模擬器3.2上運行時出現異常3.2
2010-06-24 16:35:29.208 MyTestApp[6991:207] *** Terminating app due to uncaught exception 'NSGenericException', reason: 'This coder requires that replaced objects be returned from initWithCoder:'
2010-06-24 16:35:29.213 MyTestApp[6991:207] Stack: (
46195275,
2520474889,
46194715,
46194554,
6387912,
6392266,
5568184,
6388086,
6386450,
6392266,
5564974,
5573454,
3555255,
3560368,
3586056,
3567777,
3599431,
52998524,
45735996,
45731912,
3559044,
3591649,
10824,
10678
)
據我所知,我沒有用「的initWithCoder」方法(真的不知道這是什麼雖然)。
如何知道引發異常的位置,以便我可以更好地瞭解引起問題的原因?我已經在Breakpoint中添加了一個異常:objc_exception_throw(位置libobjc.A.dylib,奇怪的是我不得不手動輸入位置,我希望xcode在添加objc_exception_throw時爲我找到它)。但仍然是一樣的痕跡,沒有更多的信息。
'initWithCoder'通常在加載XIB文件時被調用。你可能想先查看那裏 – iwasrobbed 2010-06-24 19:06:33
你好,由於這個錯誤(並且因爲我的應用可能不那麼幹淨),我決定從頭開始重建它。它開始正常工作,直到我在一個nib文件中改變某些東西(事情是我不知道但是肯定不是一件大事),並且我開始再次出現這個錯誤。正如你所說,聽起來這是鏈接到筆尖文件,但我根本不知道可能是什麼原因。 – Luc 2010-06-25 14:13:46
你好,我終於找到了這個問題的原因。你是對的,這是連接到筆尖文件。在主要的nib文件中,我添加了一個NSDictionary類型的對象的實例,這是一個我用作應用程序委託的屬性的對象。相反,我已經在委託中初始化了這個對象,現在工作好多了。非常感謝。 Luc – Luc 2010-06-25 20:45:18