Swift 保存数据数组会导致崩溃

Swift 保存数据数组会导致崩溃,swift,userdefaults,Swift,Userdefaults,我尝试在arrar中添加一个项目并保存在Userdefault中,但应用程序崩溃了,我希望任何人都能指出我做错了什么 private func putArray(_ value: GMSAutocompletePrediction?, forKey key: String) { guard let value = value else { return } log("THE MESSAGE \(value)", .fuck)

我尝试在arrar中添加一个项目并保存在Userdefault中,但应用程序崩溃了,我希望任何人都能指出我做错了什么

private func putArray(_ value: GMSAutocompletePrediction?, forKey key: String) {
        guard let value = value else {
            return
        }
        log("THE MESSAGE \(value)", .fuck)
        var newArray = getArray(forKey: key)
        log("THE MESSAGE ARRAY \(newArray)", .fuck)
        if newArray.contains(value) {
            newArray.remove(at: newArray.firstIndex(of: value)!)
        } else {
            newArray.append(value)
        }

        storage.setValue(NSKeyedArchiver.archivedData(withRootObject: newArray), forKey: key)
    }
崩溃错误

[GMSAutocompletePrediction encodeWithCoder:]:发送到实例0x2818f9ce0的选择器无法识别 2019-09-26 13:40:07.300856+0100 MAX.NG暂存调试[4440:1410011]***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[gmsautocompleprediction ency encoder::]:未识别的选择器发送到实例0x2818f9ce0'


GMSAutocompletePrediction
不符合
NSCoding
,因此无法将其保存为用户默认值,您可以从中提取重要的细节并创建自定义模型来保存

,但我在保存之前将其转换为数据。我无法使其符合NSCoding?抱歉,不,属性是get,但您甚至无法符合并设置它们。好的,我可以这样使用它吗?
struct LocalGMSAutocompletePrediction{var自动完成:GMSAutocompletePrediction?}