請幫助我,我做錯了什麼。使用UITableView在本地代碼中單擊隨機崩潰
我從示例中使用BubbleCell
和BubbleElement
。 由於原因不明,該應用程序有時會以本機代碼的形式崩潰。 如果我不使用DequeueReusableCell
,我會嘗試一些方法來糾正這種情況,並且始終創建一個新的BubbleCell
。 此外,如果構造函數BubbleElement
傳遞字符串常量作爲標題,而不是對象字段,則問題消失。
堆棧跟蹤:http://pastebin.com/KAYzpHDk
的問題是更深比看起來。 你的建議沒有幫助,應用程序仍然崩潰。
我做了一個單獨的項目,只留下了顯示問題所需的最少代碼。 這個問題與System.Json有關......或許。
下面是該項目的檔案: https://dl.dropbox.com/u/63074515/BubbleNativeCrash.zip
的動作序列: 1)打開項目 2)編譯並沒有調試(配置調試運行模擬器|)iPhoneSimulator) 3單擊horse1在出現的列表中的第一個視圖 4),滾動整個項目幾次上下 5)在我的情況下,在這個階段,我們崩潰...(堆棧跟蹤:http://pastebin.com/KAYzpHDk)
如果不立即失效,您可以返回到聯繫人l ist,反之亦然,甚至幾次。 失敗的速度取決於聊天消息的數量。
現在有趣的部分。 問題完全消失(或者我不能重複它在一個合理的時間),如果在評論ChatViewController.cs線406和取消註釋行407:
// string messageText = msg.MessageText ?? string.Empty;
string messageText = "Hello, World!!!";
也就是說,使傳遞到BubbleElement構造一個常量字符串。 之後,我想這個問題不會重複。
我試圖離開一切,但刪除與Json的工作 - 問題消失。 只有當BubbleElement從JsonValue(IM \ IMMessage.cs在第36行)讀取一個字符串時纔會出現問題。 即使在IMMessage.cs中爲MessageText設置了一個常量字符串,問題也會消失。
我在做什麼錯? :)
p.s.對不起,我的英語......它由谷歌翻譯。
謝謝......我真的很期待結果。我試圖使用靜態_cellCache,沒有區別。 – xpg934 2012-07-18 14:38:15
原始的BubbleCell示例具有相同的問題(使用相同字符串的子集)。 Bug填入@ https://bugzilla.xamarin.com/show_bug.cgi?id=6177 – poupou 2012-07-18 14:43:17