私はここで多くの質問に従ってきましたが、何も動作していないようです。スウィフト3プレイグラウンドでplistを読む
Playground
でSwift3
を使用しています。 El CapitanとXcode 8.1で動作します。 私はplist
をルートとしてDictionary
に1つのInt値と2つの2D配列Intsを含んでいます。
私は私が持っている最も近い動作していないように従うすべての質問には、エラーを返さないための遊び場のためですが、それは常に(スピニングアイコンが停止したことはありません)を実行しているようです。
私の現在のコードは、私が達成した最も近いものと信じています。
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)を再起動しました。しばらくして実行がエラー「エラー:実行が中断されました。理由exc_bad_access(コード= 1アドレス= 0x0)」 もう一度再起動すると、コードが機能します。 [「コル」:< _NS_array0 0x7fc620d091a0>(あなたは間違ったAPIを使用している
http://stackoverflow.com/questions/28956211/swift-could-not-read-local-plist-file-to-dictionary-in-a-playground –