Я новичок в разработке ios, и я создаю приложение с 2 контроллерами представлений. Я использую Protocols and Delegates для передачи данных с одного контроллера на контроллер предварительного просмотра. Данные передаются в порядке . Моя проблема заключается в том, что код, который находится в методе из протокола, который реализован в контроллере, который получает данные, не выполняется. NSLOG, который находится в методе, выполняется, но остальная часть gode no. Любые идеи, почему это происходит?Код в методе от protocole не выполнен
код из контроллера, который посылает данные:
.h
@class GeoCoding_controller;
@protocol GeoContDelegate <NSObject>
-(void)addItemViewController:(GeoCoding_controller *)controller didFinishEnteringItem: (NSString *)item;
@end
.m
NSString *itemToPassBack = [NSString stringWithFormat:@"%@,%@,%@",final_loc[indexPath.row][@"form_address"],final_loc[indexPath.row][@"lat"],final_loc[indexPath.row][@"lng"]];;
First_view_controller *first_cont = [self .storyboard instantiateViewControllerWithIdentifier:@"first_view"];
[self presentViewController:first_cont animated:YES completion:nil];
[self.delegate addItemViewController:self didFinishEnteringItem:itemToPassBack];
код в контроллер, который получает данные:
.h
@interface First_view_controller : UIViewController<CLLocationManagerDelegate,GMSMapViewDelegate,GeoContDelegate>
.m
-(void)addItemViewController:(GeoCoding_controller *)controller didFinishEnteringItem:(NSString *)item{
double delay = 10.0;
dispatch_time_t poptime = dispatch_time(DISPATCH_TIME_NOW, delay * NSEC_PER_SEC);
dispatch_after(poptime, dispatch_get_main_queue(), ^{
NSArray *foo = [item componentsSeparatedByString:@","];
NSString *address = [NSString stringWithFormat:@"%@ %@ %@",[foo objectAtIndex:0],[foo objectAtIndex:1],[foo objectAtIndex:2]];
double lat = [[foo objectAtIndex:3]doubleValue];
double lng =[[foo objectAtIndex:4] doubleValue];
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:lat longitude:lng zoom:18];
MAP.camera = camera;
edtaddress.text = address;
NSLog(@"data from controller : %@", item);
});
}
Пожалуйста, добавьте код на ваш вопрос. –
И, пожалуйста, просто разместите соответствующий код. Нет необходимости во всех файлах .h и .m обоих классов. – rmaddy
Извините за то, что вы не добавили код сначала !!! – user3734693