0

エンティティにCLPlacemarkプロパティが含まれています。city文字列がplacemarkのlocalityプロパティと一致するかどうかを確認したい。

述語performFetchで使用するとクラッシュが発生します。CONTAINS

predicate = [NSPredicate predicateWithFormat:@"placemark.locality CONTAINS[cd] %@", city];
[_fetchedResultsController.fetchRequest setPredicate:predicate];
        NSError *error = nil;
        if (![[self fetchedResultsController] performFetch:&error]) {
            NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
            abort();
        }
4

1 に答える 1

0

CLPlacemarkCore Dataはそのタイプをサポートしていないため、CoreDataに保存される目印を作成することはできません。

それで、あなたの述語には、タイプNSStringplacemarkの属性を持つNSManagedObjectがありますか?そうでない場合、クラッシュはCONTAINSが原因ではなく、存在しないlocality属性にアクセスしようとしている述語が原因です。placemark.locality

したがって、目印がバイナリデータ型としてCore Dataに保存されている場合、そのコンポーネントにアクセスできず、そのローカリティプロパティを参照する述語を記述できません。

于 2012-12-01T07:19:40.570 に答える