从用户默认值

时间:2016-12-03 09:57:08

标签: ios swift google-maps

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

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

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

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

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

1 个答案:

答案 0 :(得分:2)

由于GMSPlace类未向NSEncoding& NSDecoding协议。

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

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

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