在两个ViewController之间传递数据

路易斯

我需要在两个之间传递数据,ViewControllersUIButton简而言之,我需要访问other中的变量ViewController我的代码是:

LoginViewController *lvc;
NSString name=lvc.name;
吉尔·桑德(Gil Sand)

这种特定情况可能比委托人要容易一些。

据我所知,您正在尝试传递登录凭据(名称/登录/密码/某物)。我会根据实际情况使用两件事。

无论是NSUserDefaults-performSegueWithIdentifier:

NSUserDefaults是一个文件,只需使用以下命令,该文件就会加载到您可以阅读和编辑的每个应用程序中:

设置变量:

NSString *aName;
[[NSUserDefaults standardUserDefaults]setObject:aName forKey:@"userName"];

获取变量:

NSString *aName = [[NSUserDefaults standardUserDefaults]objectForKey:@"userName"];

请注意,您可以保存下列对象NSDictionaryNSArrayNSStringNSNumberNSData,,也许一对夫妇的我忘了,但有人可以编辑,如果我做的。

请注意,此文件在每次启动时都会加载,因此您不想将其用作数据库,而是更多易于使用的小型存储设备,例如用于用户名,首选项/设置以及诸如此类的东西。

另一种方法是performsegue在两个控制器之间使用,但这是必需的storyboards

在您的两个控制器之间拖动一个segue,将其命名(例如)fromLoginToHome我假设流程从登录控制器流向家庭控制器。

当您在两个视图之间移动时(例如,当用户按下“登录”时),请调用此方法

[self performSegueWithidentifier:@"fromLoginToHome" sender:self];

然后,您需要实现此方法,该方法通常存在于注释块中(创建Vc时总是这样)

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

    if([segue.identifier isEqualToString:@"fromLoginToHome"]){

        HomeViewController *vc = (HomeViewController*)segue.destinationViewController;
        vc.myName = _myName;

      }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章