2010-10-18 31 views
3

我在當前的項目中有這個超級怪異的bug。要明白是怎麼回事,我縮小一切的最簡單的應用程序,它可以在這裏下載:iPhone UITableView的bug? - sectionIndexTitlesForTableView似乎會導致它?

download simple example here(沒有提到的指標陣列這裏的自動釋放)

好像方法:sectionIndexTitlesForTableView有事用它來處理,因爲沒有實現時,錯誤不會出現。雖然超級怪異的東西:當它卡住,你搖晃設備它再次迴應。如果您下載了上面的代碼,在應用程序中,您必須按下按鈕,向下滾動並繼續滾動,然後再次按下,幾次後肯定會崩潰。如果不只是重新啓動並再次嘗試。它最終會崩潰。

回答

0

原來,這是一個iOS的bug。我還沒有提交。但我會盡快更新這篇文章。

0

當你大跌眼鏡的實現代碼如下控制你你重置可以連接到它的viewController任何代表?`我發現這是一些「有趣」在過去與iOS

+0

在dealloc方法中,我將數據源和tableview的委託設置爲零... – jagse 2010-10-18 13:43:24

0
的各種部件的影響的原因

當您在Xcode中調試設備上的應用程序時,能否發生這種情況?如果是這樣,一旦掛起,請點擊Xcode中的暫停按鈕。這會將調試器分解爲正在運行的進程。然後,您可以檢查調試器的「線程」區域中的每個線程,以查看調用堆棧的位置。這會告訴你你的代碼在哪裏掛起。

+0

是的,我可以那樣做。我已經嘗試過了。但是我不知道這告訴我什麼,因爲我對客觀事物c幕後的情況不瞭解太多。但我真的把我的代碼縮小到最簡單的應用程序(甚至比上面提供的示例代碼更簡單),我仍然得到錯誤。我不知道什麼可能是錯的。如果這是一個蘋果錯誤,那將是一個非常可怕的錯誤。 – jagse 2010-11-15 23:27:19

+0

好的,你能從Xcode複製callstack並粘貼到你的問題描述中嗎?這將幫助我們幫助您診斷。 – Ryan 2010-11-15 23:29:26

+0

好的。我上傳了一些截圖。不確定我們需要什麼。但是應該有希望成爲一個起點。 – jagse 2010-11-16 10:05:59

0

您的自動發佈的「NSMutableArray *索引」可能被引用並且不會被UITableView保留。我會建議嘗試在UITaleView的init期間創建數組,並在UITableView的dealloc上釋放它,或者如果它需要動態,每次調用sectionIndexTitlesForTableView時都會釋放並重新創建它。這樣,只要UITableView試圖訪問由此方法返回的指針,就知道它會一直存在。

+0

嘿謝謝檢查代碼。但那不是。我會上傳另一個版本,其中沒有autoreleased。同樣的錯誤。你可以自己嘗試。乾杯 – jagse 2010-11-24 10:21:38

相關問題