我在我的應用程序這個奇怪的崩潰,當我嘗試調用這個函數我的對象上pageModel指針指向一個不同的對象:(無法識別的選擇發送到實例)
[pageModel pageTitle] isEqualToString:@"some text"];
這是調試器轉儲
-[__NSArrayM isEqualToString:]: unrecognized selector sent to instance 0x661de40
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM isEqualToString:]: unrecognized selector sent to instance 0x661de40'
,並與我發現了一些非常奇怪的行爲,調試器亂搞
(gdb) po pageModel
<PXPage: 0x6622e20>
(gdb) po [pageModel pageTitle]
<__NSArrayM 0x661de40>(...
(gdb) po pageModel.pageTitle
<__NSArrayM 0x661de40>(...
它認爲這是一個MutableArray,但它不是。它應該是一個NSString ...而其他時間是UIImage,其他時間是其他時間,等等。 有沒有人作爲關於這裏發生了什麼的線索?
謝謝
您能否提供一些有關如何創建pageModel及其應包含的對象的詳細信息? – Luke
由於某些其他原因,「pageModel」或「pageTitle」可能已被釋放或垃圾。 –
你說「它認爲它是一個MutableArray,但它不是。」。那麼,這顯然是錯誤的。它比你更清楚。這是什麼。當你在調試時,你的態度必須是:「我犯了一個錯誤,我犯了什麼錯誤?」。這是導致發現錯誤的態度。 – gnasher729