[解決済み] Coredata Error "data: <障害>"
2022-10-15 12:14:10
質問
以下のコードでCoreDataからデータを取り出そうとしています。
NSFetchRequest *request = [[NSFetchRequest alloc] init];
request.entity = [NSEntityDescription entityForName:@"Cave" inManagedObjectContext:self.context];
request.predicate = [NSPredicate predicateWithFormat:@"(latitude > 0) AND (longitude > 0)"];
NSError *error;
NSLog(@"%@",[self.context executeFetchRequest:request error:&error]);
NSLog(@"%@",[error localizedDescription]);
CoreDataには9つのマッチするオブジェクトがあるはずで、9つのオブジェクトを見つけることができます。そのため、述語は機能するはずですが、コンソールで次のように表示されます。
2011-09-05 07:41:42.267 CaveConditions[6930:11903] (
"<NSManagedObject: 0x7368060> (entity: Cave; id: 0x7367880 <x-coredata://C825FC9D-3490-4D8A-A811-979B819A2EB6/Cave/p31> ; data: <fault>)",
"<NSManagedObject: 0x73547e0> (entity: Cave; id: 0x7356e20 <x-coredata://C825FC9D-3490-4D8A-A811-979B819A2EB6/Cave/p40> ; data: <fault>)",
"<NSManagedObject: 0x73681e0> (entity: Cave; id: 0x7363e60 <x-coredata://C825FC9D-3490-4D8A-A811-979B819A2EB6/Cave/p42> ; data: <fault>)",
"<NSManagedObject: 0x7368280> (entity: Cave; id: 0x7356be0 <x-coredata://C825FC9D-3490-4D8A-A811-979B819A2EB6/Cave/p72> ; data: <fault>)",
"<NSManagedObject: 0x7368320> (entity: Cave; id: 0x733ad80 <x-coredata://C825FC9D-3490-4D8A-A811-979B819A2EB6/Cave/p73> ; data: <fault>)",
"<NSManagedObject: 0x73683c0> (entity: Cave; id: 0x7333e70 <x-coredata://C825FC9D-3490-4D8A-A811-979B819A2EB6/Cave/p91> ; data: <fault>)",
"<NSManagedObject: 0x7368480> (entity: Cave; id: 0x7361810 <x-coredata://C825FC9D-3490-4D8A-A811-979B819A2EB6/Cave/p101> ; data: <fault>)",
"<NSManagedObject: 0x7368570> (entity: Cave; id: 0x7360110 <x-coredata://C825FC9D-3490-4D8A-A811-979B819A2EB6/Cave/p105> ; data: <fault>)",
"<NSManagedObject: 0x7368610> (entity: Cave; id: 0x73303c0 <x-coredata://C825FC9D-3490-4D8A-A811-979B819A2EB6/Cave/p112> ; data: <fault>)"
)
EntityであるCave.mを以下のように変更するまでは、全く問題なく動作していました。
Cave.hでMKAnnotationをdelegateとして追加し、Cave.mで以下のコードを追加しました。
- (CLLocationCoordinate2D)coordinate
{
CLLocationCoordinate2D location;
location.latitude = [self.latitude doubleValue];
location.longitude = [self.longitude doubleValue];
return location;
}
これをデバッグする方法はあるのでしょうか?
どのように解決するのですか?
これは予想された動作です。オブジェクトの永続的な値にアクセスする必要があるまで、コアデータは完全なオブジェクトを返しません。返される各オブジェクトは、この時点までは「障害」です。
を使うと、フェッチ・リクエストが完全なオブジェクトを返すように強制することができます。
[request setReturnsObjectsAsFaults:NO]
を使って強制的にオブジェクトを返すことができますが、ほとんどの場合、あなたが持っているものは大丈夫でしょう。より多くの情報のためにNSFetchRequestのドキュメントを見てください。
プロパティの1つにアクセスすると、コアデータは永続ストアに移動して残りの値を取得し、その後、ログに完全な説明が表示されます。
これはよくある誤解のようなので、それについて書いてみることにしました。 ここで .
関連
-
[解決済み] Xcodeエラー "Could not find Developer Disk Image" が発生する。
-
[解決済み] Objective-CでENUMを定義して使用するにはどうすればよいですか?
-
[解決済み] xcodeでiOSアプリのアーカイブを生成できない
-
[解決済み] CGFloatとfloatを使うことの違いは何ですか?
-
[解決済み] UIButton: 選択されたハイライト状態の画像を設定する
-
[解決済み] iPhoneのTableViewのCellの右側に小さな矢印を追加する
-
[解決済み] インスタンスからクラス名を取得する
-
[解決済み] 再署名 IPA (iPhone)
-
[解決済み] viewWillAppear:と-viewDidAppear:の違いは何ですか?
-
[解決済み] 円形のカスタムUIViewの描き方 - iPhoneアプリ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] UIImage。リサイズ、そしてクロップ
-
[解決済み] iOS UITableViewのHeaderView(セクションヘッダーではない)を追加する
-
[解決済み] プロダクションコードでNSLog()を使ってはいけないというのは本当ですか?
-
[解決済み] iPhoneのTableViewのCellの右側に小さな矢印を追加する
-
[解決済み] UITableViewのセクション間のスペースを小さくする
-
[解決済み] ナビゲーションコントローラスタック、サブビュー、モーダルコントローラを使用せずに、ビューコントローラの変化をアニメーション化する?
-
[解決済み] UIWebViewの背景がクリアカラーに設定されているが、透明になっていない
-
[解決済み] iphoneシミュレーターでキーボードを使うにはどうしたらいいですか?
-
[解決済み] iOSアプリをクラッシュさせる確実な方法とは?
-
[解決済み] iPhoneのデータ使用量のトラッキング/モニタリング