Не работает переопределение установщика свойства отношения

мой сценарий таков:

У меня есть подкласс NSManagedObject в моем приложении для iOS, и в качестве свойства я хочу хранить содержимое объекта MKPolygon. Я решил пойти по этому пути (и возможно ли, что это действительно другой вопрос) - объявить свойство многоугольника как трансформируемый объект, а затем сохранить NSArray, содержащий точки многоугольника (как объект NSValue).

С этой целью я написал несколько методов класса удобства для моего объекта модели:

+ (NSArray *)coordsArrayFromMKPolygon:(MKPolygon *)polygon pointCount:(int)count
{
    CLLocationCoordinate2D *coords = (CLLocationCoordinate2D *)malloc(sizeof(CLLocationCoordinate2D) * count);
    [polygon getCoordinates:coords range:NSMakeRange(0, count)];
    NSMutableArray *coordsArray = [NSMutableArray array];
    for (int i = 0; i < count; i++) {
        NSValue *coordVal = [NSValue valueWithBytes:&coords[i] objCType:@encode(CLLocationCoordinate2D)];
        [coordsArray addObject:coordVal];
    }
    free(coords);
    return [NSArray arrayWithArray:coordsArray];
}

+ (MKPolygon *)polygonFromCoordsArray:(NSArray *)coordsArray pointCount:(int)count
{
    CLLocationCoordinate2D *coords = (CLLocationCoordinate2D *)malloc(sizeof(CLLocationCoordinate2D) * count);
    for (int i = 0; i < count; i++) {
        CLLocationCoordinate2D coord;
        [[coordsArray objectAtIndex:i] getValue:&coord];
        coords[i] = coord;
    }
    free(coords);
    return [MKPolygon polygonWithCoordinates:coords count:count];
}

Я могу просто вызвать эти методы на моих объектах MKPolygon перед сохранением или загрузкой экземпляра модели, но я бы хотел переопределить динамические методы получения и установки в самой модели, чтобы я мог просто сказать что-то вроде[turf setTurf_bounds:polygon] (где многоугольник является экземпляром MKPolygon).

Что мне действительно нравится, так это возможность делать что-то вроде этого:

- (void)setTurf_bounds:(id)turf_bounds
{
    MKPolygon *poly = (MKPolygon *)turf_bounds;
    NSArray *coordsArray = [Turf coordsArrayFromMKPolygon:poly pointCount:[poly pointCount]];
    // Save the converted value into the @dynamic turf_bounds property
}

- (id)turf_bounds
{
    // grab the contents of the @dynamic turf_bounds property into say, NSArray *coordsArray
    return [Turf polygonFromCoordsArray:coordsArray pointCount:[coordsArray count]];
}

Но у меня пока нет радости. призвание[super setValue:coordsArray forKey:@"turf_bounds"] или его аналог getter не работает и не пытается записать его как self.turf_bounds (который просто рекурсивно вызывает мои переопределенные сеттеры).

Я иду по этому совершенно неправильному пути или просто что-то упускаю?

Ответы на вопрос(1)

Ваш ответ на вопрос