私を助けてください、私は何が間違っていますか。
私は例からBubbleCell
と を使用します。BubbleElement
理由は不明ですが、アプリケーションがネイティブ コードでクラッシュすることがあります。を使用しない場合は状況を少し修正してDequeueReusableCell
、常に新しい を作成しますBubbleCell
。また、コンストラクターBubbleElement
が文字列定数をオブジェクト フィールドではなくキャプションとして渡すと、問題はなくなります。
スタックトレース: http://pastebin.com/KAYzpHDk
問題は思ったよりも深刻です。あなたの提案は役に立たず、アプリケーションはまだクラッシュします。
別のプロジェクトを作成し、問題を示すために必要な最小限のコードを残しました。問題は何らかの形で System.Json に関連しています...多分。
プロジェクトのアーカイブは次のとおりです: https://dl.dropbox.com/u/63074515/BubbleNativeCrash.zip
アクションのシーケンス: 1) プロジェクトを開く 2) デバッグなしでエミュレーターをコンパイルして実行する (構成 Debug|iPhoneSimulator) 3) 最初のビューで horse1 をクリックする 4) 表示されるリストで、アイテム全体を上下に数回スクロールする5) 私の場合、この段階でクラッシュします... (スタック トレース: http://pastebin.com/KAYzpHDk )
すぐに失敗しない場合は、連絡先リストに戻ることができ、その逆も可能です。失敗するまでの時間は、チャット内のメッセージの数によって異なります。
今楽しい部分。ChatViewController.cs で行 406 をコメントし、行 407 のコメントを外すと、問題は完全になくなります (または、妥当な時間内に繰り返すことはできません)。
// string messageText = msg.MessageText ?? string.Empty;
string messageText = "Hello, World!!!";
つまり、BubbleElement コンストラクターに渡される定数文字列を作成します。その後、問題は繰り返されないと思います。
すべてをそのまま残そうとしましたが、Json で作業を削除すると、問題はなくなります。この問題は、BubbleElement が JsonValue (36 行目の IM\IMMessage.cs) から読み取った文字列を取得する場合にのみ発生します。IMMessage.cs で、MessageText に定数文字列を設定する必要がある場合でも、問題はなくなります。
私は何を間違っていますか?:)
ps私の英語で申し訳ありません... Google翻訳を利用しています。