0

Core Data で奇妙な問題が発生しています。対象はiOS5.0

このコード行:

   NSArray *results = [self executeFetchRequest:request error:&error];

現在のメソッドを終了します。その行以降、コードは実行されません。アプリはクラッシュしません。例外はスローされません。これは、毎回ではなく、時々発生します。

コードをステップ実行してその行にヒットすると、現在のメソッドから戻ります。

ヒント、手がかりなどはありますか?

お時間をいただきありがとうございます。

4

1 に答える 1

1

コメントで述べたように、フェッチはおそらく別のスレッドで実行されます。これが、アプリがクラッシュしない理由を説明しています。

コードが表示されていない場合、おそらくその構文で間違ったフェッチ要求が原因でクラッシュが発生した可能性があります。

ブレークポイントを設定して、少なくともステートメントを出力してみてください。たとえばpo request、コンソールにNSLog(yourStatament)表示しないと、ステートメント全体を表示できるはずです。そこに何かnilがあるかどうかを見てください。

selfまた、実行フェッチで使用していることがわかります。これが別のスレッドである場合self、メインスレッドがリソースを解放できるようにするために、おそらく強力な参照を使用します。しかし、これは単なる推測です。

于 2013-09-10T08:48:08.890 に答える