Arrays 在MapView上保存注释
目前,我正在开发的应用程序会创建自定义注释,但当用户使用mapView切换页面时,这些注释都会被卸载。我正在将它们保存到自定义数组中,但UserDefaults不允许我保存该数组。是否有一种简单的方法来保存放置的注释,或者如何让UserDefaults保存数组。我的数组是这样的:Arrays 在MapView上保存注释,arrays,swift3,mapkit,nsuserdefaults,mapkitannotation,Arrays,Swift3,Mapkit,Nsuserdefaults,Mapkitannotation,目前,我正在开发的应用程序会创建自定义注释,但当用户使用mapView切换页面时,这些注释都会被卸载。我正在将它们保存到自定义数组中,但UserDefaults不允许我保存该数组。是否有一种简单的方法来保存放置的注释,或者如何让UserDefaults保存数组。我的数组是这样的: var mapAnnotations = [pinLocations]() struct pinLocations { let latitude: Double let longnitude: Doub
var mapAnnotations = [pinLocations]()
struct pinLocations {
let latitude: Double
let longnitude: Double
let name: Double
let time: String
}
将您的结构改为类,从NSObject派生,并通过实现
init?(coder:)
和encode(with:)
来采用NSCoding。通过调用NSKeyedArchiver.archivedData(withRootObject:)
(反之,通过调用NSKeyedUnarchiver.unarchiveObject(with:)
)可以将此类的数组归档到NSData中并保存到UserDefaults中。这是一个可归档自定义类的示例: