如何在Xamarin运行时更改iOS中的全局设置时更新Preferences



我的问题如下:我想在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