Изменения NSKeyedUnarchiver в iOS12 - Как разархивировать массив строк - PullRequest
0 голосов
/ 22 декабря 2018

В Foundation произошли некоторые изменения с iOS 11.4 на iOS12.К сожалению, я не смог найти никакой полезной документации по этим темам.

До iOS12 у меня был этот код , отлично работающий для чтения массива со строками из определенного файлаPath:

if let myList : Array<String> = NSKeyedUnarchiver.unarchiveObject(withFile: filePath) as? Array<String> {
   // ...
}

Как я выяснил, в iOS12 есть несколько новых методов, которые я должен использовать, и я попробовал это (конечно, в структуре do-catch и после получения объекта данных):

let myList : Array<String> = try NSKeyedUnarchiver.unarchivedObject(ofClass: Array<String>, from: data)

Я тоже безуспешно пытался:

let myList : Array<String> = try NSKeyedUnarchiver.unarchivedObject(ofClass: Array<String>.self, from: data)

Любая рекомендация?

1 Ответ

0 голосов
/ 22 декабря 2018

Наконец я узнал сам.Работало с этим методом:

if let fileNames = try NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(dataObject) as? Array<String> {
    // ... 
}        
...