【问题标题】:Send data from one class to a different class [duplicate]将数据从一个类发送到另一个类[重复]
【发布时间】:2017-01-30 21:09:03
【问题描述】:

我正在尝试在其他 UIViewcontroller 类中使用文本框的值。 首先,我在 LoginViewController 类中实例化 RegistrationViewController 类。

RegistrationViewController registration = new RegistrationViewController();

然后我将值保存在公共电子邮件变量中。

registration.Email = txtEmail.Text;

我的 RegistrationViewController 类如下所示:

    public partial class RegistrationViewController : UIViewController
    {
        public String Email { get; set; }
    }

如果我使用 email 变量,我不会得到任何结果。 我什么都看不到,可能会丢失。可能是因为,我使用了部分类?

更新

这基本上是我使用它的方式。

 public partial class RegistrationViewController : UIViewController
        {
            public String Email { get; set; }

        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            txtEmail2.Text = Email;

        }
}

【问题讨论】:

  • 可能是,因为 txtEmail.Text 是 smpty 或 null
  • 我已经测试过了。如果我在 LoginViewController 类中输出registration.Email 的值,我会得到一个值。
  • 如何在 RegistrationViewController 中使用 Email 变量?
  • 您最好创建一个静态类,其属性应保留很长时间:public static class Stuff { public static string Email; },然后在两个控制器类中使用Stuff.Email
  • 我用它来设置 UITextfield 文本的文本。所以它看起来像这样:txtEmail2.Text = Email;

标签: c# xamarin


【解决方案1】:

正如Here 所说的ViewDidLoadcontroller's view 加载到memory 之后调用。所以虽然ViewDidLoad 调用Email 尚未分配。将txtEmail2.Text = Email; 放置到另一个methodevent 然后调用它

【讨论】:

  • 所以我在 Registration 类中编写了一个方法,在推送 Registration 视图控制器之前调用该方法。现在我得到了变量内的值,但我得到了一个新错误:对象引用未设置为对象的实例。如何让它在 viewDidLoad 中工作?
猜你喜欢
  • 1970-01-01
  • 2020-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-24
  • 1970-01-01
  • 2013-03-18
  • 1970-01-01
相关资源
最近更新 更多