Проблема с типами данных, saveArray
функция ожидает параметр значения массива типов словаря [Dictionary<String, AnyObject>]
, но вы передаете массив объектов модели данных, который является ошибкой несоответствия типов.
Чтобы решить эту проблему:
Во-первых, вы не должны использовать предопределенные ключевые слова для создания вашего пользовательского объекта.Вместо этого используйте DataObject
:
struct DataObject {
}
Теперь измените свою saveArray
функцию на:
class func saveArray(_ value: [DataObject], key: String) {
let data = NSKeyedArchiver.archivedData(withRootObject: value)
UserDefaults.standard.set(data, forKey: key)
}
и addItemCat
, действуйте как:
func addItemCat(items: [DataObject]) {
print("ITEM: ", items)
dataSource.myListTableViewController.myListArr = items
self.myListTV.isHidden = false
UserDefaultsHelper.saveArray(items, key: Constants.myList.myList)
}