Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Xcode将数据从一个viewcontroller传递到另一个故事板中的viewcontroller_Ios_Objective C_Xcode_Uiviewcontroller_Uistoryboardsegue - Fatal编程技术网

Ios Xcode将数据从一个viewcontroller传递到另一个故事板中的viewcontroller

Ios Xcode将数据从一个viewcontroller传递到另一个故事板中的viewcontroller,ios,objective-c,xcode,uiviewcontroller,uistoryboardsegue,Ios,Objective C,Xcode,Uiviewcontroller,Uistoryboardsegue,我有两个故事板,每个故事板包含一个视图控制器 故事板1------>viewcontrollerA 故事板2------>viewcontrollerB 如何将字符串从viewcontrollerA传递到viewcontrollerB 例如: viewcontrollerB.testString=@"The transfer of data worked!"; 到目前为止,我知道如何传输视图,但不知道如何传输数据 这是我传输视图的代码: - (IBAction)moveToViewcontro

我有两个故事板,每个故事板包含一个视图控制器

故事板1------>viewcontrollerA

故事板2------>viewcontrollerB

如何将字符串从viewcontrollerA传递到viewcontrollerB

例如:

viewcontrollerB.testString=@"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 iAction方法中更新该字符串

我只知道如何使用segue传输数据,但由于此viewcontroller位于另一个故事板上,segue-prepareForSegue将无法工作


提前感谢。

首先设置
情节提要ID
到您的
第二视图控制器
,如下图所示

然后在
按钮上添加以下
代码
,单击事件

- (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];
}
storyboard 2
storyboard
名称

SecondClassStoryboard ID
是您在
Storyboard viewController
中给出的
Storyboard ID
,如上图所示


SecondStoryboard VC
是您希望
显示的
secondclass
名称,它可能与ViewControllerB中声明强类型NSString的名称重复。然后以-->
viewcontrollerB.testString=@“你好,viewcontrollerB”的形式访问ViewControllerA我已经尝试了所有这些解决方案,但没有一个有效。这个线程使用了很多折旧方法,没有一个能够正确实例化viewcontroller。谢谢你的帮助。Xcode在这行代码中给了我一个错误:SecondStoryboardVC*secondStoryboardVCOBJ_=[storyboard InstanceEviewController标识符:@“SecondClassStoryboardID”];------>意思是说“故事板”是一个未知的接收者?
SecondStoryboardVC
是您想要呈现的第二个类名。请查看更新的答案。在您的示例中,它的
viewcontrollerB
@AbhishekSharma什么是“setStrValue”?