在Xamarin表单中,PushAsync等导航方法是一种异步rewrite
返回方法,但它会查看在调用它时使用Task
是否没有区别,是吗?我应该等待这些电话吗?
另一个问题,navigation guide表示模型页面用于导航到需要完成自包含任务的页面,然后解除它,但它看起来pushasync和pushmodelasync没有区别,除了模型页面没有导航栏,用户仍然可以使用os后退按钮返回就像pushasync一样,是吗?
答案 0 :(得分:4)
在这里应用与唤醒有关的常见考虑因素。如果你没有 public int getID(){
return id;
}
PushAsync然后在你的代码中执行其他操作(或者你的框架执行你可能不知道的其他操作) - 那些操作可能在PushAsync完成之前执行(即 - 之前 - 页面呈现给用户)。此外,如果PushAsync操作中存在一些异常 - 如果您不等待呼叫,则不会注意到它。一般来说,即使您在PushAsync之后没有做任何事情 - 最好等待呼叫(与大多数其他异步操作一样),除非您知道为什么不想这样做。
关于第二个问题,您的链接提供了答案:
在Android和Windows Phone上,用户可以随时返回 通过按设备上的标准后退按钮上一页。如果 模态页面要求用户完成一个自包含的任务 在离开页面之前,应用程序必须禁用“后退”按钮。 这可以通过覆盖Page.OnBackButtonPressed来完成 模态页面上的方法。有关更多信息,请参阅第24章 Charles Petzold的Xamarin.Forms书。