私はメモリバグで完全に途方に暮れています。この問題は でのみ発生happens
し、 ではdevice
発生しませんsimulator
。また、アプリがデバイスに初めて読み込まれたときにのみ発生します。アプリを閉じて再起動すると、問題は事前設定されません。これは私が得ているエラーです
-[CFString retain]: message sent to deallocated instance 0xfd5a2f0
解放された文字列が何であるかを把握するためにあらゆることを試みました。シミュレーターではなくデバイスで実行しているときに、リリースされたオブジェクトが何であるかを理解するのを手伝ってください! 前もって感謝します!
更新: まだ解決策はありませんが、フレームを設定したコード行でアプリが一貫してクラッシュし、上記のエラーが表示されることを確認しました。このコードをコメントアウトすると、アプリはこの時点を通過しますが、他の奇妙な場所でクラッシュする可能性があります。クラッシュがどこから発生しているのかを特定することすらできません。
CGRect frame = CGRectMake(27, 96, 265.0, 50.0);
someAcct.frame = frame;
これは文字列ではないので、私はこれにとても混乱しています。何か案は?
更新 2: この問題は、同期されている NSUser デフォルトに直接関連しています。これはかなりランダムに見えますが、これが問題の原因です。ヘルプはありますか?
更新 3: 問題は 1 週間前に解決されました。これは実際には、文字列にアクセスできないことが原因でした。文字列がメソッドに渡され、そのメソッドは機能し、データを別のメソッドに渡しました。最終的に、データはユーザーのデフォルトと、ドキュメント フォルダー内に含まれるローカル plist に書き込まれました。突然、上記のような非常に奇妙な場所でアプリがクラッシュすることがありましたが、それらの場所は文字列とは関係ありませんでした。私は困惑し、非常に長い間それで遊んだ後、.h ファイルに向かい、各文字列が .m ファイルで合成され、その self.stringName が適用されていることを確認して、一度に 1 つずつ各文字列を調べることにしました。 .m ファイル全体。これに1時間費やした後、最終的に原因となった文字列を見つけ、問題は解決しました. セルフを使用しています。stringName を使用すると、メモリを見つけることができ、これらのあいまいで非常に紛らわしいアプリケーションのクラッシュを回避できます。すべての提案とヒントをありがとう!