сохранение массива данных приводит к сбою swift - PullRequest
0 голосов
/ 26 сентября 2019

Я попытался добавить элемент в массив и сохранить в 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 Staging Debug [4440: 1410011] *** Завершение работы приложения из-за неосторожного исключения 'NSInvalidArgument, причина: '- [GMSAutocompletePrediction encodeWithCoder:]: нераспознанный селектор отправлен в экземпляр 0x2818f9ce0'

1 Ответ

0 голосов
/ 26 сентября 2019

GMSAutocompletePrediction не соответствует NSCoding, поэтому вы не можете сохранить его по умолчанию, вы можете извлечь из него важные детали и создать собственную модель для сохранения

...