My predicate continues to crash my application with the message Unsupported function FUNCTION(SELF, "filterDistanceWithLatitude:" , latitude, longitude ). Does anyone know how to fix this?
- (void)setUpFetchedResultsController { NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"NextTime"]; //Retrieve data for the place entity request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)]]; //How to sort it self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request managedObjectContext:self.context sectionNameKeyPath:nil cacheName:nil]; //Puts the data in a NSFetchedResultsController which is oddly located in CoreDataTableViewController //Puts the data in a NSFetchedResultsController which is oddly located in CoreDataTableViewController self.filtered = self.fetchedResultsController.fetchedObjects; NSPredicate *predicate = [NSPredicate predicateWithFormat:@"FUNCTION(self, 'filterByDistanceWithLatitude:', latitude, longtitude) > 20"]; self.filtered = [self.filtered filteredArrayUsingPredicate:predicate]; } - (double)filterByDistanceWithLatitude:(NSNumber *)latitude andLongitude:(NSNumber *)longitude { CLLocationDegrees latitudeCoor = [latitude doubleValue]; //Puts the latitude into a NextTime object. CLLocationDegrees longitudeCoor = [longitude doubleValue]; //Puts the longtitude into a NextTime object. CLLocation *loc1 = [[CLLocation alloc] initWithLatitude:latitudeCoor longitude:longitudeCoor]; CLLocation *loc2 = [[CLLocation alloc] initWithLatitude:self.currentLocation.latitude longitude:self.currentLocation.longitude]; NSNumber *distance = [[NSNumber alloc] initWithDouble:[loc1 distanceFromLocation:loc2]]; return [distance doubleValue]; }
gsapienza
source share