【问题标题】:Passing data from first to second modal view controller using storyboards使用故事板将数据从第一个模式视图控制器传递到第二个模式视图控制器
【发布时间】:2012-09-10 00:11:48
【问题描述】:

我正在开发一个新的 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?

【问题讨论】:

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


    【解决方案1】:

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

    SearchTableViewController *vc = (SearchTableViewController*)[storyboard instantiateViewControllerWithIdentifier:@"SearchTableViewController"];
    
    vc.searchText = self.searchField.text;
    

    【讨论】:

    • 不,没有用!导致应用程序崩溃 [UINavigationController setSearchText:]:无法识别的选择器发送到实例 0x6a5e130 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[UINavigationController setSearchText:]:无法识别的选择器发送到实例 0x6a5e130”。我按照您所说的进行了投射,然后简单地 vc.searchText = self.searchField.Text;甚至 vc.searchText = @"Some Text";
    • 哦,我明白了,为什么应用程序崩溃了! SearchTableViewController 是导航控制器的标识符。附加到导航控制器的视图标识符是“SecondView”对不起,我的错!修复。使用 topViewController 并将其转换为我的自定义类。使用 UINavigationController 实例化 SearchTableViewController。
    • 谢谢!你的回答确实有帮助:D
    【解决方案2】:

    另一种方法是:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-22
      • 2018-05-01
      • 2015-05-02
      相关资源
      最近更新 更多