Передача строки из IBAction в отдельный контроллер представления

#iphone #objective-c #ios

#iPhone #objective-c #iOS

Вопрос:

Я пытаюсь передать строку из IBAction в моем DetailsViewController в viewDidLoad в моем WebViewController, чтобы вызвать URL-адрес в WebView.

Кто-нибудь знает, как я могу это сделать?

Мой код:

 // DetailsViewController.m

- (IBAction)edu1Link:(id)sender {

    NSString *webURL = [[NSString webURL] initWithString:@"http://www.apple.com"];


    _webViewController = [[WebViewController alloc]
                          initWithNibName:@"WebViewController" bundle:nil];

    [[self navigationController] presentModalViewController:_webViewController animated:YES];            
}


// WebViewController.m

- (void)viewDidLoad
{
    [_webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:webURL]]];
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
}
  

Ответ №1:

Вы могли бы объявить свойство в своем WebViewController и установить это свойство в действии перед представлением контроллера представления.

Комментарии:

1. Да, именно так: _webViewController.myURLProperty = webURL; .

2. что заменит myURLProperty?

Ответ №2:

Я думаю, лучшим способом было бы использовать метод делегирования вот руководство по тому, как вы могли бы это сделать

Ответ №3:

На что ссылается albertamg, так это на свойства Objective-C. Они очень мощные. Возьмем вершину здесь:http://cocoacast.com/?q=node/103

Свойства подобны полям экземпляра в Java. Они полезны в побочных методах с нулевым параметром.