Xcode将数据从视图控制器传递到另一个视图控制器在不同的故事板
我有两个包含一个视图控制器的故事板。Xcode将数据从视图控制器传递到另一个视图控制器在不同的故事板
storyboard1 --------> viewcontrollerA
storyboard2 --------> viewcontrollerB
我如何通过从viewcontrollerA一个字符串viewcontrollerB?
例子:
[email protected]"The transfer of data worked!";
到目前为止,我知道如何传送的看法,但我不知道如何来传输数据。
这是我的代码转移的观点:
- (IBAction)moveToViewcontrollerB:(id)sender {
UIStoryboard *storyboard2 = [UIStoryboard storyboardWithName:@"storyboard2" bundle:nil];
UIViewController *viewcontrollerB = [storyboard2 instantiateInitialViewController];
viewcontrollerB.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentViewController:lessonOne_ViewController animated:YES completion:nil];
}
我的问题是,如果我有viewcontrollerB串称为“后的TestString”,我如何更新在viewcontrollerA IBAction为方法字符串?
我只知道如何使用segues传输数据,但由于此viewcontroller位于另一个故事板上,因此segue - prepareForSegue将不起作用。
预先感谢您。
首先将Storyboard ID
设置为您的SecondView Controller
,如下图所示。
然后添加你button click
事件后code
。
- (IBAction)moveToViewcontrollerB:(id)sender {
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Storyboard2"
bundle: nil];
SecondStoryboardVC * secondStoryboardVCOBJ_ = [storyboard instantiateViewControllerWithIdentifier:@"SecondClassStoryboardID"];
[secondStoryboardVCOBJ_ setStrValue:@"The transfer of data worked!"];
secondStoryboardVCOBJ_.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentViewController:secondStoryboardVCOBJ_ animated:YES completion:nil];
}
Storyboard2
是storyboard
名。
SecondClassStoryboardID
是Storyboard ID
你在storyboard viewController
中给出的像上面的图片。
SecondStoryboardVC
是要present
的secondclass
名称
谢谢你的帮助。 Xcode给我这条线的错误:SecondStoryboardVC * secondStoryboardVCOBJ_ = [storyboard instantiateViewControllerWithIdentifier:@“SecondClassStoryboardID”]; ----->这是说“故事板”是一个未知的接收器? – hmzfier 2015-03-02 06:34:22
'SecondStoryboardVC'是你想要呈现的第二个类名。 请参阅最新的答案。在你的例子中'viewcontrollerB' – 2015-03-02 07:16:48
这对我有效,谢谢Abhishek! – hmzfier 2015-03-04 07:26:09
[查看控制器之间传递数据]的可能重复(http://stackoverflow.com/questions/5210535/passing-data-between-view-controllers) – 2015-03-02 05:09:10
在ViewControllerB中声明一个强类型的NSString。然后访问ViewControllerA作为 - >'viewcontrollerB.testString = @“Hello ViewController B”;' – 2015-03-02 05:21:18
我已经尝试了所有这些解决方案,但都没有工作。这个线程使用了很多折旧方法,它们都不能正确实例化一个viewcontroller。 – hmzfier 2015-03-02 06:35:20