Cocoa 如何在Xcode中将值传递给另一个控制器视图

Cocoa 如何在Xcode中将值传递给另一个控制器视图,cocoa,Cocoa,如何从xcode情节提要中的不同UIViewController获取值?在第二个视图控制器中 - (IBAction) btnPressToBringThirdView : (id) sender { ThirdViewController* newObject = [[ThirdViewController alloc] initWithNibName:@"ThirdViewController" bundle:nil]; newObject.labelString =

如何从xcode情节提要中的不同UIViewController获取值?

在第二个视图控制器中

- (IBAction) btnPressToBringThirdView : (id) sender
{
      ThirdViewController* newObject = [[ThirdViewController alloc] initWithNibName:@"ThirdViewController" bundle:nil];
      newObject.labelString = @"whatever text you want";
      [self.navigationController pushViewController:newObject];
      [newObject release];
} 
在.h文件中的第三个viewcontroller中

@property (nonatomic, retain) NSString* labelString;
在.m文件中

- (void)viewDidLoad
{
     [super viewDidLoad];
     yourLabel.text = labelString;
}

我最终使用了prepareForSegue方法。 首先,我在第三个视图控制器中创建一个字符串

@property (strong,nonatomic) NSString* stringFromSecondView;
然后我给推送序列一个名为getDate的ID,在我的第二个视图类中使用下面的代码,并记住导入thirdviewcontroller.h

#import "thirdViewController.h"

-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    if([segue.identifier isEqualToString:@"getDate"]){
        NSString *intro = _myDate.text;
        thirdViewController *vc = [segue destinationViewController];
        vc.stringFromSecondView = intro;
    }
}
现在回到我的第三个虚拟控制器

_myLabel.text = stringFromSecondView;
///保存您的var

[[NSUserDefaults standardUserDefaults]setInteger:secondview.your var here forKey:@"your key to save"];

我在下面分享了我的答案
[[NSUserDefaults standardUserDefaults]setInteger:secondview.your var here forKey:@"your key to save"];