0

iOS のボタンの「クリック」イベントにNSStringテキストを渡そうとしています。UIViewController次のコードを書きました。

self.detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];

self.detailViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:self.detailViewController animated:YES];

self.detailViewController.urlAddress = @"http://www.google.com";

urlAddressですでにプロパティを宣言していますdetailViewControllerNSLoginでテストした後viewWillAppear、文字列ではなく null 値のみが表示されurlAddressます。どうすれば解決できますか?

4

2 に答える 2

2

ビューコントローラーが既に表示された後に文字列を設定しています。それを切り替えれば、あなたはうまくいくはずです。

于 2012-07-02T13:56:42.590 に答える
1

呼び出されるメソッドの順序に注意してください。

  1. initWithNibName
  2. viewDidLoad
  3. viewWillAppear

3 つすべてが作業を完了した後にのみ、文字列が変更されます。

コードを次のように変更します。

self.detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
self.detailViewController.urlAddress = @"http://www.google.com";
self.detailViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:self.detailViewController animated:YES]; //Triggers viewWillAppear eventually
于 2012-07-02T14:00:27.587 に答える