データベースに関連付けられたUITableView
でいくつかのスポットを表示しようとしています。NSFetchedResultsController
問題は、特定の場所からの距離(無線)で結果をフィルタリングする必要があることです。距離を計算することはできないと読んだNSPredicate
ので、座標との単純な比較で、ロケーション周辺のすべてのスポットを取得しています。それは私に場所の周りの正方形を与えます。次に、の結果を繰り返し、fetchedObjects
ゾーンにないものを削除します。
- (NSFetchedResultsController *)newFetchedResultsControllerWithSearch:(NSString *)searchString{
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest
managedObjectContext:self.managedObjectContext
sectionNameKeyPath:sectionName
cacheName:@"Stores"];
aFetchedResultsController.delegate = self;
NSError *error = nil;
if (![aFetchedResultsController performFetch:&error])
{
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
// ITERATE FETCHED OBJECTS TO FILTER BY RADIO
int n = [aFetchedResultsController.fetchedObjects count];
NSLog(@"Square result count: %i",n);
self.footerLabel.text = [NSString stringWithFormat:NSLocalizedString(@"%i Spots", @"%i Spots"),n];
return aFetchedResultsController;
aFetchedResultsController
オブジェクトを返す前に.fetchedObjectsからオブジェクトを削除するにはどうすればよいですか?UITableView
それはのように使用される方法を変更し[fetchedResultsController objectAtIndexPath:indexPath]
ますか?
ありがとう