Вы не дали MKReverseGeocoder координату для обратного геокодирования.
Назначенный инициализатор - [MKReverseGeocoder initWithCoordinate:], через который вы вводите координату.
Надеюсь, что поможет
(также, конечно, проверьте, что вы создали и инициализировали свой экземпляр GetZipcode, и что getzip не равен nil, когда вы пытаетесь его использовать.)
РЕДАКТИРОВАТЬ:
Вы создали переменную экземпляра (ivar) с именем getzip.Но вы не опубликовали код, который создает экземпляр GetZipcode и помещает этот адрес в указатель getzip.Где-то у вас должно быть что-то вроде:
getzip = [[GetZipcode alloc] someAppropriateInit];
ВТОРОЕ РЕДАКТИРОВАНИЕ
Итак, еще пара вещей, о которых стоит подумать.(1) На самом деле вы не можете сразу прочитать свойство метки, как пытаетесь сделать это здесь:
zip = getzip.myPlacemark;
Потребуется некоторое время, чтобы обратный геокодер вышел в сеть и выполнил свою работу.вне метки.Таким образом, у вас не будет метки до тех пор, пока вы не получите обратный вызов делегата:
- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark
(2) Вам следует также реализовать этот обратный вызов, чтобы вы могли увидеть, не возникла ли проблема с поиском метки:
- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFailWithError:(NSError *)error
(3) Вы уверены, что передаете правильную координату обратному геокодеру?Вы можете записать это, чтобы быть абсолютно уверенным.