Итак, я подумал, что исправил проблему, но столкнулся с другой ...Как мне получить блок для запуска один раз, но каждый раз, когда я вызываю viewController?
Я беру местоположение пользователя, а затем использую их координаты, чтобы найти почтовый индекс, в котором они сейчас находятся, но когда я запускаю его внутри блока он выходит на консоль только один раз. Когда я пытаюсь запустить блок по другому методу, он выплескивает много раз все с одним и тем же почтовым индексом.
Вопрос: как я могу сделать так, чтобы блок печатал один почтовый индекс, и он делает это каждый раз, когда контроллер вида воспитывается ..?
//user's location
locationManager = [[CLLocationManager alloc] init];
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters;
[locationManager startUpdatingLocation];
CLGeocoder *fgeo = [[CLGeocoder alloc] init];
[fgeo reverseGeocodeLocation:locationManager.location completionHandler:^(NSArray *placemarks, NSError *error) {
if (!error) {
CLPlacemark *placemark = [placemarks objectAtIndex:0];
zip = placemark.postalCode;
NSLog(@"%@", zip);
//[self jsonRequest];
, чтобы он запускался при показе просмотра, помещался в ViewWillAppear. Не уверен в части 2 вопроса. – DogCoffee
Это зависит от того, что вы подразумеваете под «поднятым», но «viewWillAppear» кажется отправной точкой. –
Ввод в ViewWillAppear исправил все. Спасибо вам, ребята! – Lalalalalala