У меня есть файл .plist, в котором я буду хранить различные места, которые пользователь позже сможет прочитать / изменить. Но я не могу заставить работать код ...
Мой .plist:
<dict>
<key>MAIN TITLE</key>
<array>
<dict>
<key>name</key>
<string>NAME IN TABLECELL</string>
</dict>
<dict>
<key>name</key>
<string>X</string>
</dict>
</array>
</dict>
Я хочу сделать MAIN TITLE
заголовком раздела.
Мой код:
func readPlist() {
guard let fileUrl = Bundle.main.url(forResource: "SavedPlaces", withExtension: "plist") else { return }
do {
let data = try Data.init(contentsOf: fileUrl)
let plist = try! PropertyListSerialization.propertyList(from:data, options: [], format: nil) as! [[String:Any]]
print(plist)
} catch {
print(error.localizedDescription)
}
}
Но это приводит к нескольким ошибкам, среди которых:
Thread 1: signal SIGABRT
Could not cast value of type '__NSCFDictionary' (0x10b39ddd8) to 'NSArray' (0x10b39e008).
Есть ли способ, где я могу получить все значения, без использования NSArray, NSDictionary и т. Д .?
Спасибо.