2017-11-01 20 views
2

plistのデータを配列にロードしようとしています。私はこのSwift:辞書の配列を作成するにはどうしたらいいですか?各辞書には配列が含まれていますか?

var natureList : [Dictionary] = [] as! [Dictionary] 

のような何かをした配列を宣言しながら、私はここに、このエラーに enter image description here

を取得しています私のplistファイルが enter image description here

あるので、どのようにしてから、このデータをロードするための配列を宣言します私のplist。 ?私はシンプルだが、この小さなものは私の頭を食べている。どんな助けもありがたい。

答えて

6

次のように宣言する必要があります。

var natureList = [[String: Any]]() 

またはLeoDabus @としては、(彼のおかげで)お勧め:

var natureList: [[String: Any]] = [] 

natureListがキーといずれかとして、文字列の辞書の配列であることを意味し値として。

あなたはuanessacry-ある-which Dictionaryを使用してそれを宣言することを目指している場合、あなたはこのようにそれをも行うことができます:

var natureList = [Dictionary<String, Any>]() 
+0

ありがとうございました。 – iPhoneDeveloper

+0

ありがとう:) – iPhoneDeveloper

0

アフマドFは、正しい答えを持っていますが、念のため、あなた(または将来読者)は、ある特定の時点でもっと具体的にする必要があります。

plist(要約:1st花など)の中の最も内側の項目はすべて[String: String]です。文字列であり、関連する値です。

これらの内のすべての辞書は配列で保持されているので、以前の型の周りに余分な角括弧を追加します:[[String : String]]。これらの配列のレベル全てを移動

は、我々は、キータイプ、結腸、およびブラケットを追加意味辞書にある:前のステップから[String: [[String : String]]]

辞書は、すべての我々は追加手段配列に保持されます外部にブラケットの別のセットは、私たちを残して:[[String: [[String : String]]]]

このレベルの詳細については、過剰な可能性がありますが、最も内側のレベルから開始し、複雑なデータ構造を分解する方法の1つを示すのに便利です。このような構造を分解する他の方法もありますが、これは非常に効果的です。

関連する問題