Расширение CLPlacemark приводит к EXC BAD ACCESS

Хотя есть похожий вопрос найденВот это не дает ответа, по крайней мере, не для общей проблемы.

Моя проблема: сCoreLocation геокодирование ограничено по скорости, и (веб-) служба, для которой я разрабатываю приложение, предоставляет собственную резервную службу геокодирования, я хочу использовать эту специальную службу геокодирования на случай, если я достигну предела скорости Apple. Более того, я считаю, что имеет смысл избегать использования пользовательского типа данных для результатов, возвращаемых этим пользовательским REST API, и поэтому хотел бы использовать данные, возвращаемые для генерации.CLPlacemarks. Однако в документации говорится, чтоCLPlacemark свойства, такие какlocation, locality, administrativeArea и т. д.read-only, Поэтому я создал подклассCLPlacemark синтезируя необходимые свойства в частных переменных, к которым я могу получить доступ, т.е.

// interface: (.h)
@interface CustomPlacemark : CLPlacemark
- (nonnull id)initWithLocation: (nonnull CLLocation *)location
                      locality: (nullable NSString *)locality                       
            administrativeArea: (nullable NSString *)adminArea
                       country: (nullable NSString *)country;
@end

// implementation (.m)
@implementation CustomPlacemark
@synthesize location = _location;
@synthesize locality = _locality;
@synthesize country = _country;
@synthesize administrativeArea = _administrativeArea;

- (nonnull id)initWithLocation: (nonnull CLLocation *)location
                          locality: (nullable NSString *)locality
                administrativeArea: (nullable NSString *)adminArea
                           country: (nullable NSString *)country{
    self = [super init];
    if(self){
        _location = location;
        _locality = locality;
        _administrativeArea = adminArea;
        _country = country;
    }
    return self;
}
@end

Тестирование этого кода с помощью модульного теста, который анализирует данные из файла JSON и вызывает мойinitWithLocation: locality: administrativeArea: country: Метод с данными приводит кEXC BAD ACCESS (code=1) в конце теста (при закрытии} метода теста) с переменной метки, указывающей наnil хотя доNSLog(@"placemark: %@", customPlacemark); выводит правильные значения. Кроме того, шаг за шагом тестирование показываетCustomPlacemark работает (т.е. указывает на правильно заполненный объект) до достижения конца теста. Для меня это говорит о том, что что-то с освобождением моегоCustomPlacemark идет не так - но что именно?

Любая помощь с благодарностью!

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

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