【发布时间】:2016-10-25 00:13:03
【问题描述】:
我正在使用 Xamarin 的消息中心从照片实用程序类发回一个通知,当响应返回一张照片已成功上传到服务器时。
视图模型
public constructor
{
var photoUtility = new PhotoUtility();
MessagingCenter.Subscribe<Helper_PhotoUtility, string>(this, "UploadedNotifier", (sender, value) =>
{
//do some updates to the photo's status
}
}
PhotoUtility
Private UploadFinished()
{
MessagingCenter.Send<Helper_PhotoUtility, string>(this, "UploadedNotifier", PhotosGUIDPK);
}
在 Android 中一切都很好,因为在 OnAppearing / OnDisappearing 后面附加 XAML 的代码只被调用了一次。然而,在 iOS 中,每次 UI 让位于相机时都会调用这些事件。这会导致在拍照期间取消订阅消息中心的小问题。
我读到您可以将所有内容移至构造函数并首先调用取消订阅,但这似乎很hacky。
有没有人知道在视图模型正常生命周期内可靠地订阅/取消订阅消息中心的方法,而不依赖于非 Xamarin 支持的框架?
【问题讨论】:
标签: xamarin xamarin.ios