Передача данных с помощью Unwind segue UITextField

У меня есть два представления: View1 (Магазин): URL хранится в NSString для отображения изображения.

View2 (ModifyShop): текстовое поле с URL из view1.

Я могу передать данные из view1 в view2: URL-адрес, хранящийся в NSString, появится в текстовом поле.

Теперь я хотел бы изменить этот URL с текстовым полем из view2, и это изменить строку NSString в view1. Как я могу это сделать?

Вот мой код:

Магазин:

- (void)viewDidLoad {
    [super viewDidLoad];
    [self.modifyButton setHidden:YES];
    dispatch_async(dispatch_get_global_queue(0,0), ^{
        self.imageButtonURL = @"http://bundoransurfshop.com/wp-content/uploads/2015/02/72-torq-pink.jpg";
        imageButtonData = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString:self.imageButtonURL]];
        if ( imageButtonData == nil )
            return;
        dispatch_async(dispatch_get_main_queue(), ^{
            self.imageButton.imageView.image = [UIImage imageWithData: imageButtonData];
        });
    });
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segue.identifier isEqualToString:@"modifyShop"]) {
        ShopModify *viewcontroller = (ShopModify *)segue.destinationViewController;
    viewcontroller.imageButtonURL = self.imageButtonURL;      }
}

-(IBAction)prepareForUnwind:(UIStoryboardSegue *)segue {
    NSLog(@"%@", self.imageButtonURL);}

ModifyShop:

- (void)viewDidLoad {
    [super viewDidLoad];
}

-(void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    self.photoURL.text = [NSString stringWithFormat:@"%@", self.imageButtonURL];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
}

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
        Shop *viewcontroller = (Shop *)segue.destinationViewController;
        viewcontroller.imageButtonURL = self.photoURL.text;
}

Это делает мое приложение вылетает:

[Reports setImageButtonURL:]: unrecognized selector sent to instance

1 ответ

Решение

Ошибка говорит о том, что вы пытаетесь установить imageButtonURL для экземпляра отчетов, а не для магазина, который, как вы думаете, является вашим целевым контроллером представления. Похоже, что ваша раскрутка идет не на тот контроллер. Вы, должно быть, неправильно подключили сеанс раскрутки. Вы говорите, что у вас есть 2 представления (фактически, контроллеры представления), но в вашем приложении также должен быть класс Reports.

Другие вопросы по тегам