2016-05-04 24 views
0

だから私は、データ構造だ変数は、だから私の問題は、トラブル別の変数に(let audioSet = audio[1]から)Dictionary<String, String>を取得したイムです(文字列、辞書)UITableViewCellにクエリ(文字列、辞書<String、String>)する方法?

let audio = Array(self.sharedRec.audioDic) // Dictionary<String, Dictionary<String, String>> 
let audioSet = audio[1] // (String, Dictionary<String, String>) 

である持っています。

("hSmfumVmjkmg9bOYxV67", ["audioString": "/hSmfumVmjkmg9bOYxV67", "audioURL": "/Users/xx/Library/Developer/CoreSimulator/Devices/67D6480B-566D-425B-88AD-E5DECC080337/data/Containers/Data/Application/7091A4BF-9E5F-4957-A3D8-ACE1D160826D/Documents/hSmfumVmjkmg9bOYxV67", "projectTitle": "Gold King", "audioTitle": "Dog"]) 

(ので、私は私のUITableViewCellでそれを反復処理することができます)だから私は「hSmfumVmjkmg9bOYxV67」文字列を必要といけないが、新しい変数にそれに付属している唯一の辞書:ここ

print(audioSet)ショーは何です

ようなので:

let cell.audioTitle = audioPiece.audioTitle 
let cell.audioURL = audioPiece.audioURL 

ありがとうございました!スティーブの驚くべき答えに

UPDATE

おかげで私は、不要なキーを削除し、変数にのみ辞書を取得しようとしていました。

let audio = Array(self.sharedRec.audioDic.values) 
self.sharedRec.audioDic = audio 
print("Inner Dicitonary Values \(audio)") 

// This is what gets printed from above 

[["audioString": "/iFDNtXmmvC3lbKPkk2YY", "audioURL": "/Users/xx/Library/Developer/CoreSimulator/Devices/67D6480B-566D-425B-88AD-E5DECC080337/data/Containers/Data/Application/834019D6-5223-47AE-A51E-FFA49FFB14F5/Documents/iFDNtXmmvC3lbKPkk2YY", "projectTitle": "Kash - Oh", "audioTitle": "GOAT"], ["audioString": "/tyddrt0PrrwebN5RBNy2", "audioURL": "/Users/xx/Library/Developer/CoreSimulator/Devices/67D6480B-566D-425B-88AD-E5DECC080337/data/Containers/Data/Application/834019D6-5223-47AE-A51E-FFA49FFB14F5/Documents/tyddrt0PrrwebN5RBNy2", "projectTitle": "Kash - Oh", "audioTitle": "Gold"]] 

だから私の質問は今、私はこれらの2または(以上、後でもう一つの辞書がある場合)を反復処理し、私のUITableViewCellために自分のデータをつかむにはどうすればよいのですか?

私が試した - cell.vocalString.text = audio[0]["audioTitle"]をそれはIndex out of Range

答えて

1

がうまくいけば、私が正しくあなたの質問を理解していますと言います。最初に配列に変換して辞書に入れて辞書に入れて、 "外部キー"を使わずに内部辞書の1つを取得するように見えますか?内側の辞書値だけを使って、最初のオーディオ配列を作成できるはずです。このように:

let audio = Array(self.sharedRec.audioDic.values) 
+0

ヘイスティーブ!だからあなたは正しかったし、内側の辞書の値を分離するために働いた(上記の私の記事の更新をご覧ください)。今はそれぞれの '内部ディクショナリ 'に対して' UITableViewCell'を作成しようとしていますが、それはうまくいきません。 – brkr

+0

'audio' - > Array > – brkr

+0

テーブルビューのセルを作成しているときにオーディオ配列がまだ更新されていない可能性がありますか?たぶんそれを 'で囲む'場合audio.count> 0 ' –

関連する問題