Мое приложение находит местоположение пользователя и показывает адрес на этикетке. Проблема в том, что если что-то не существует в определенном месте, например, почтовый код, тогда строка говорит (null)
. Как сделать эту строку пустой? Я полагаю, что он должен быть установлен на nil
как-то где-то ...Сделать строки адреса пустыми, если они не существуют (Objective-C)
Пожалуйста, помогите!
Вот мой код:
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
NSLog(@"Location: %@", newLocation);
CLLocation *currentLocation = newLocation;
[geoCoder reverseGeocodeLocation:currentLocation completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {
if (error == nil && [placemarks count] > 0) {
placeMark = [placemarks lastObject];
NSString *locationString = [NSString stringWithFormat:@"%@ %@\n%@ %@\n%@\n%@",
placeMark.subThoroughfare,
placeMark.thoroughfare,
placeMark.postalCode,
placeMark.locality,
placeMark.administrativeArea,
placeMark.country];
locationLabel.text = locationString;
}
else {
NSLog(@"%@", error.debugDescription);
}
}];
}
Он по-прежнему говорит (нуль) ... – Yomo
Uhmm вы можете действительно есть NSString с «(нуль)» содержание, то, что это очень плохо, вы должны проверить ранее при создании объекта Placemark тогда. В таком случае посмотрите на редактирование в ответе – jalone
Ничего, я допустил ошибку. Это работает ... Но теперь есть пустая строка, которая разрушает ее. Разве я не могу как-то «обмануть» его? – Yomo