1

新しいiOSアプリを開発しています。ストーリーボードに、テキストフィールドのあるビューコントローラーがあります。UITextFieldDelegateを使用して、キーボードで検索を押すと、テーブルビューコントローラーへのセグエを実行します。ただし、この2番目のテーブルビューコントローラーは、ナビゲーションビューコントローラーに組み込まれています。最初のViewControllerはその一部ではありません。セグエは以下を使用して行われます。

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
    UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"SearchTableViewController"];
    [vc setModalPresentationStyle:UIModalPresentationFlipHorizontal];

    [self presentModalViewController:vc animated:YES];

私がやりたいのは、NSString内の最初のViewControllerのテキストフィールドから他のViewControllerにデータを渡すことです。どうすればよいですか?

最初のテキストフィールドにIBOutlet、searchFieldがあります。そして、2番目のヘッダーファイルのプロパティ

@property (nonatomic, strong) NSString *searchText.

では、searchField.textをsearchTextに渡すにはどうすればよいですか?

4

2 に答える 2

1

ビューコントローラをインスタンス化するときは、カスタムビューコントローラサブクラスとしてキャストする必要があります。これを行うと、searchTextプロパティ値を設定できます。

SearchTableViewController *vc = (SearchTableViewController*)[storyboard instantiateViewControllerWithIdentifier:@"SearchTableViewController"];

vc.searchText = self.searchField.text;
于 2012-09-17T19:48:55.300 に答える
0

別の方法は次のとおりです。

 UINavigationController *nav  = [segue destinationViewController];
 [((YourViewController *) [nav.viewControllers objectAtIndex:0]) setObject: object];
于 2014-03-30T19:33:56.080 に答える