Xamarin.ios初始化UIView

时间:2013-10-16 11:13:16

标签: xamarin.ios xamarin

我正在使用Xamarin.iOS。我创建了UIView并添加了几个UITextField个。我正在寻找从代码初始化这些文本字段中的文本值的最佳方法。 我可以在UIViewContoller的构造函数中传递文本数据,但我无法访问其中的textFields(它们为null)。我可以在viewDidLoad方法中更改textFields的文本值。

我不想在控制器类中创建其他字段来存储构造函数传递的数据,并在viewDidLoad中使用它们。你知道更好的解决方案吗?

1 个答案:

答案 0 :(得分:8)

  

我不想在控制器类中创建要存储的其他字段   构造函数传递的数据并在viewDidLoad中使用它们。

但这就是它的意图。

或者,如果使用MVVM模式,则可以在viewcontroller中创建更少的字段/属性:

public class UserViewModel {
    public string Name { get; set;}
    public string Title { get; set;}
}

public class UserViewController : UIViewController
{
    UserViewModel viewModel;
    public UserViewController (UserViewModel viewModel) : base (...)
    {
        this.viewModel = viewModel;
    }

    public override void ViewDidLoad ()
    {
        userName.Text = viewModel.Name;
        userTitle.Text = viewModel.Title;
    }
}

这种模式可以让您在平台(android,WP,...)中重复使用大量代码,并明确区分问题。这是一个(非常)的额外代码,但它值得每个字节。