我想定义一个自定义演示者来自定义我的 UI,在 iPad 上实现拆分视图等等。我定义了这个类:
class ProjectPresenter : MvxTouchViewPresenter
{
public ProjectPresenter(UIApplicationDelegate applicationDelegate, UIWindow window) : base(applicationDelegate, window)
{
}
public override void Show(MvxViewModelRequest request)
{
IMvxTouchView viewController = this.CreateViewControllerFor(request);
this.Show(viewController);
}
}
我在我的 MvxTouchSetup 类中注册了它,如下所示:
protected override IMvxTouchViewPresenter CreatePresenter()
{
MvxTrace.Trace("Creating the presenter!");
return new ProjectPresenter(this.ApplicationDelegate, this.Window);
}
但是,Show() 方法中的断点永远不会被命中。我尝试为 Show()、ChangePresentation() 等的所有重载添加断点,但它们从未被命中。现在,我知道 Xamarin.iOS 在断点方面相当不可靠,但即使放入跟踪方法也不会产生任何乐趣。我什至用引发异常的方法替换了 CreatePresenter() 方法,并且应用程序没有崩溃。
当我部署它们时,会显示对我的应用程序的其他修改,所以这不是某种缓存问题,尽管我已经清理了我的 PC 和我的 Mac 上的源。此外,我的设置类的构造函数中的断点被击中,所以这甚至可能根本不是与 Xamarin 相关的问题。
我猜我要么依赖较旧的文档,要么正在做一些非常非常愚蠢的事情(我猜是后者)。