使用故事板将数据从第一模态视图控制器传递到第二模态视图控制器

时间:2012-09-17 18:19:54

标签: ios objective-c cocoa-touch storyboard segue

我正在开发一款新的iOS应用 我的故事板中有一个视图控制器,它有一个文本字段。使用UITextFieldDelegate,在按键盘上搜索时,我执行segue到表视图控制器。 但是第二个表视图控制器嵌入在导航视图控制器中。第一个视图控制器不是它的一部分。 Segue使用:

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

    [self presentModalViewController:vc animated:YES];

我想要做的是,将数据从第一个视图控制器的文本字段传递到NSString中的另一个视图控制器。我该怎么做?

在第一个文本字段中有一个IBOutlet,searchField。 在第二个头文件中有一个属性

@property (nonatomic, strong) NSString *searchText.

那么如何将searchField.text传递给searchText?

2 个答案:

答案 0 :(得分:1)

实例化视图控制器时,应将其转换为自定义视图控制器子类。如果这样做,您可以设置searchText属性值。

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

vc.searchText = self.searchField.text;

答案 1 :(得分:0)

另一种方法是:

 UINavigationController *nav  = [segue destinationViewController];
 [((YourViewController *) [nav.viewControllers objectAtIndex:0]) setObject: object];