-1

目前我正在开发的应用程序创建自定义注释,但是当用户从带有 mapView 的页面切换时,它们都被卸载了。我将它们保存到自定义数组中,但 UserDefaults 不允许我保存该数组。有没有一种简单的方法来保存放置的注释,或者我如何让 UserDefaults 来保存我的数组。我的数组是这样的:

var mapAnnotations = [pinLocations]()
struct pinLocations {
    let latitude: Double
    let longnitude: Double
    let name: Double
    let time: String
}
4

1 回答 1

0

将您的结构改为一个类,从 NSObject 派生,并通过实现init?(coder:)and来采用 NSCoding encode(with:)。现在可以通过调用将此类的数组归档到 NSData 并保存到 UserDefaults 中NSKeyedArchiver.archivedData(withRootObject:)(反之,通过调用NSKeyedUnarchiver.unarchiveObject(with:))。

于 2017-02-19T19:40:28.750 回答