Я следил за множеством вопросов здесь, но ничего не работает.Прочитайте plist in swift 3 playground
Я использую Swift3
в Playground
. Работает на El Capitan и Xcode 8.1. У меня есть plist
с корнем как Dictionary
, содержащим одно значение Int и два 2D массива интов.
Каждый вопрос я следую не похоже на работу ближе у меня есть на детской площадке, чтобы не возвращать ошибки, но это, кажется, работает постоянно (значок спиннинг никогда не останавливается).
мой текущий код, я считаю самым близким, которого я достиг.
import Foundation
if let path = Bundle.main.path(forResource: "levelList", ofType: "plist") {
let plistXML = FileManager.default.contents(atPath: path)!
let mydata = try! PropertyListSerialization.propertyList(from: plistXML, options: [], format: nil) as! [String:Any]
}
другие варианты Я попытался из предыдущих ответов переполнения стека в аналогичном контексте.
let mydata = Dictionary(fromPropertyList: path, format: "XML") as! [String: Any]
******
let mydata = Dictionary(contentsOf: path) as? [String: Any]
Данные были добавлены в папку ресурсов правильно, так как связанный вопрос дал инструкции. Я перезапустил Xcode (и mac), как это было предложено в комментариях. Через некоторое время выполнение завершилось с ошибкой «error: Execution была прервана причина exc_bad_access (code = 1 address = 0x0)» После очередного перезапуска кода работает. Как бы я извлечь данные в массив в стрижа, так как на данный момент площадка показывает [ «Уровень 2»: [ «Col»: < _NS_array0 0x7fc620d091a0> (
http://stackoverflow.com/questions/28956211/swift-could-not-read-local-plist-file-to-dictionary-in-a-playground –