2015-03-02 162 views
-1

我有兩個包含一個視圖控制器的故事板。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將不起作用。

預先感謝您。

+0

[查看控制器之間傳遞數據]的可能重複(http://stackoverflow.com/questions/5210535/passing-data-between-view-controllers) – 2015-03-02 05:09:10

+0

在ViewControllerB中聲明一個強類型的NSString。然後訪問ViewControllerA作爲 - >'viewcontrollerB.testString = @「Hello ViewController B」;' – 2015-03-02 05:21:18

+0

我已經嘗試了所有這些解決方案,但都沒有工作。這個線程使用了很多折舊方法,它們都不能正確實例化一個viewcontroller。 – hmzfier 2015-03-02 06:35:20

回答

1

首先將Storyboard ID設置爲您的SecondView Controller,如下圖所示。

enter image description here

然後添加你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]; 
} 

Storyboard2storyboard名。

SecondClassStoryboardIDStoryboard ID你在storyboard viewController中給出的像上面的圖片。

SecondStoryboardVC是要presentsecondclass名稱

+0

謝謝你的幫助。 Xcode給我這條線的錯誤:SecondStoryboardVC * secondStoryboardVCOBJ_ = [storyboard instantiateViewControllerWithIdentifier:@「SecondClassStoryboardID」]; ----->這是說「故事板」是一個未知的接收器? – hmzfier 2015-03-02 06:34:22

+0

'SecondStoryboardVC'是你想要呈現的第二個類名。 請參閱最新的答案。在你的例子中'viewcontrollerB' – 2015-03-02 07:16:48

+0

這對我有效,謝謝Abhishek! – hmzfier 2015-03-04 07:26:09

相關問題