Xamarin.ios初始化UIView

Tom*_*asz 1 xamarin.ios xamarin

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

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

Ste*_*oix 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;
    }
}
Run Code Online (Sandbox Code Playgroud)

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