2016-10-17 6 views
1

これは、私が作成したプロパティリストから、次のとおりです。 property listスウィフト3 - プロパティリストにアクセスする方法

私は配列にちょうど国の名前をロードします。ここで私はこれまで...

if let path = Bundle.main.path(forResource: "flagData", ofType: "plist") { 
    dict = NSMutableDictionary(contentsOfFile: path) 

    let currentGroup = (dict!["caribbean"] as AnyObject).allKeys as? [String] 
} 

を持っているコードです。しかし、それは動作しません - 私はそれを実行すると、currentGroup = nilの

を私も試してみました:

let currentGroup = dict?.allKeys(for: "caribbean") 

しかし、それが与えます私は空の配列です。

いずれかのアイデアをお待ちしています...ありがとう!

+0

「dict」自体はどうでしょうか。それは無名ですか、それとも実際にデータが入っていますか? – Dima

+0

'dict'が' nil'でなければ、 'dict.allKeys'をログしてください。それはキー "カリブ"を含んでいますか? – rmaddy

+0

dictにはデータが含まれており、dict.allKeysには "caribbean"が含まれています – squarehippo10

答えて

1
 if let path = Bundle.main.path(forResource: "flagData", ofType: "plist"), 
      let configurations = NSDictionary(contentsOfFile: path) { 
       variables = configurations[currentConfiguration] as! NSDictionary 
     } 

上記のコードを試して、関連する変更を加えることをお勧めします。

+0

キャストに問題がありました。私はAnyObjectと[String:AnyObject]を試してみましたが、すべての基底をカバーすると思っていましたが、明らかにそうではありませんでした。ありがとうございました! – squarehippo10