我的问题如下:我想在iOS应用程序的全局设置在运行时更改时更新首选项(Xamarin.Essentials)。
我知道我必须使用NSUserDefaults才能访问全局设置或分别在root.plist-file中写入的内容。我还读过以下内容:在Settings Bundle(在Xamarin iOS中)中更改设置时通知。但我不知道该怎么处理。在我Xamarin项目的iOS部分,我有AppDelegate-class,但我不知道调用哪个方法来通过NSUserDefaults改变偏好。你能帮我吗?
Thanks in Advance.
如何在iOS全局设置更改时更新首选项Xamarin
如果你想从原生ios平台更新Preferences (Xamarin. essentials),一个简单的方法是使用Xamarin。MessagingCenter形式。你可以在xamarin ios中通过方法MessagingCenter.Send
发送消息,你可以在表单应用程序中使用方法MessagingCenter.Subscribe
接收消息,在这里你可以更新首选项(xamarin . essentials)。
Xamarin的。Forms MessagingCenter类实现了发布-订阅模式,允许组件之间基于消息的通信,而不方便通过对象和类型引用进行链接。这种机制允许发布者和订阅者在没有相互引用的情况下进行通信,有助于减少它们之间的依赖关系。
发布者使用MessagingCenter发送消息。方法,而订阅者使用MessagingCenter侦听消息。订阅方法。此外,如果需要,订阅者还可以使用MessagingCenter取消订阅消息订阅。退订方法。
发布消息
MessagingCenter消息是字符串。发布者通知订阅者一个消息与MessagingCenter.Send
超载之一。
MessagingCenter.Send<MainPage, string>(this, "Hi", "John");
订阅消息
订阅者可以使用MessagingCenter中的一个注册以接收消息。订阅过载。下面的代码示例展示了这样的一个示例:
MessagingCenter.Subscribe<MainPage, string>(this, "Hi", async (sender, arg) =>
{
await DisplayAlert("Message received", "arg=" + arg, "OK");
});
详情请浏览:https://learn.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/messaging-center