【问题标题】:Saving Annotations on MapView在 MapView 上保存注释
【发布时间】:2017-02-19 19:33:07
【问题描述】:

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

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

【问题讨论】:

    标签: arrays swift3 mapkit nsuserdefaults mapkitannotation


    【解决方案1】:

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-22
    • 2012-12-17
    • 1970-01-01
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多