ios – 从用户默认值中检索GMSPlace实例

我知道我们无法将自定义类保存到UserDefaults.但是在我的代码中将GMSPlace实例保存到userdefaults并检索它会非常方便.

理想情况下,我想提出以下功能:

func save(selectedPlace: GMSPlace) {}
func getSelectedPlace() -> GMSPlace? {}

我想我应该将它转换为NSData或将其转换为字典.我选择了第二个选项,但我不知道如何从字典中检索GMSPlace实例.换句话说,就目前而言,我只知道如何做到这一点:

func save(selectedPlace: GMSPlace) {}
func getSelectedPlace() -> [String: Any]? {}

最佳答案 您无法将GMSPlace保存在userdefault中,因为GMSPlace类未向NSEncoding& NSDecoding协议.

但是可以通过使用GMSPlace类中的所有参数创建一个NSDictionary并将新创建的NSDictionary保存到NSUserdefaults来实现.

当你访问agian然后从NSUserdefault获取dictinary并创建GMSPlace类对象.

如果您在实施中有任何疑问,请告诉我们.

点赞