Как получить доступ к настраиваемому объекту в памяти с контроллера представления?

В моем приложении я получаю базу данных cored и помещаю результаты в массив, называемый self.stores. Я конвертирую эти хранилища в объекты MyLocation, которые имеют свойство расстояния. Я рисую объекты MyLocation следующим образом:

- (void)plotStorePositions:(NSString *)responseString {

    for (id<MKAnnotation> annotation in _mapView.annotations) {
        [_mapView removeAnnotation:annotation];
    }
    //CYCLE THRU STORE OBJECTS
    for (Store * storeObject in self.stores) {

        NSString * latitude = storeObject.latitude;
        NSString * longitude = storeObject.longitude;
        NSString * storeDescription = storeObject.name;
        NSString * address = storeObject.address;

        //CREATE MYLOCATION OBJECTS
        CLLocationCoordinate2D coordinate;
        coordinate.latitude = latitude.doubleValue;
        coordinate.longitude = longitude.doubleValue;
        MyLocation *annotation = [[MyLocation alloc] initWithName:storeDescription address:address coordinate:coordinate distance:0];

        //CREATE A PIN FOR EACH MYLOCATION ANNOTATION
        CLLocation *pinLocation = [[CLLocation alloc] initWithLatitude:annotation.coordinate.latitude longitude:annotation.coordinate.longitude];

        //SET USERLOCATION (Must move this code out)
        self.userLocation = [[CLLocation alloc] initWithLatitude:self._mapView.userLocation.coordinate.latitude longitude:self._mapView.userLocation.coordinate.longitude];

        //SET USERLOCATION TO APPDELEGATE (Must move this code out)
        AppDelegate *myDelegate = [[UIApplication sharedApplication] delegate];
        myDelegate.userLocation = self.userLocation;

        //CALCULATE DISTANCE AND SET ITS THAT MYLOCATION DISTANCE PROPERTY
        CLLocationDistance calculatedDistance = [pinLocation distanceFromLocation:userLocation];
        annotation.distance = calculatedDistance/1000;        

        [_mapView addAnnotation:annotation];

    }

}

Это в виде карты. Затем у меня есть таблица, где я получаю одну и ту же резервную базу и снова получаю self.stores. Затем я просматриваю этот массив self.stores, чтобы создавать хранилища STORE для размещения в моих ячейках tableview. Но я хочу сортировать эти ячейки. Как получить объекты MyLocation, которые должны быть в памяти? Мне нужно передать их в appDelegate или в контроллер таблицы?

Ответы

Ответ 1

Когда вы используете Core Data, ваш лучший вариант - использовать NSFetchedResultsController для заполнения вида таблицы.

Все, что вам нужно, это контекст управляемого объекта, либо с другого контроллера, либо с делегата приложения.