【发布时间】:2017-08-22 16:28:07
【问题描述】:
我是 Xamarin 和 MVVMCross 的新手。所以我创建了 2 个视图。登录并注册。我在 Login 上有一个按钮可以转到 Register 视图,我将通过 Login 的 ViewModel 中的这段代码去那里:
// method when user tap register button
public IMvxCommand NavigateRegister
{
get { return new MvxCommand(() => ShowViewModel<RegisterViewModel>()); }
}
注册页面可以正常打开。但是,一旦我在注册视图(文本编辑)上为单个对象分配名称,当我点击注册按钮时,应用程序就会崩溃。
以下是错误信息:
Xamarin.iOS:收到未处理的 ObjectiveC 异常: NSUnknownKeyException [ setValue:forUndefinedKey:]:这个类不是键值 键 regNameEdit 的编码兼容。
编辑: 更多详细信息:我已经指定了名称(见下图),但仍然崩溃:
并且视图也被分配给它的类“CreateAccount”。但我注意到类声明在“public partial class CreateAccount : MvxViewController”行中“部分”变暗了。这是本课程和第一个课程唯一明显的区别。
using MvvmCross.Binding.BindingContext;
using MvvmCross.iOS.Views;
namespace MyApp.iOS.Views
{
public partial class CreateAccount : MvxViewController
{
public CreateAccount() : base("CreateAccount", null)
{
}
public override void ViewDidLoad()
{
base.ViewDidLoad();
// Perform any additional setup after loading the view, typically from a nib.
Title = "Register";
var set = this.CreateBindingSet<CreateAccount, Core.ViewModels.CreateAccountModel>();
set.Bind(regNameEdit).To(vm => vm.NameStr);
}
public override void DidReceiveMemoryWarning()
{
base.DidReceiveMemoryWarning();
// Release any cached data, images, etc that aren't in use.
}
}
}
Bind(regNameEdit) 也是一个错误(仍然没有检测到 textedit)
【问题讨论】:
标签: xamarin xamarin.ios xib