[過去ログ] [SDK]iPhoneアプリ開発初心者質問箱48[touch][iPad] [無断転載禁止]©2ch.net (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
47
(2): 2017/02/02(木)16:44 ID:9mrbQShv0(1) AAS
// myDictionary : [String: Int]
// ↑ これを引数として受け取ってる

let kvArray = Array(myDictionary).sorted { $0.value > $1.value }

print("kvArray : \(kvArray)")
// [("sections", 4), ("bridge", 4), ("car", 3), ("this", 3), ("type", 2)]

辞書の値をソートして、表示するとこのコードです。
クロージャ内で $0.value $0.key を使いソート方法を指定するときちんと動くのですが、なんでこの指定が有効なのか分かりません。

kvArray の中身はタプルだから、辞書のように .key .value とかは使えないように思えるのですが...
48: 2017/02/02(木)17:00 ID:VsHjih/X0(1) AAS
>>47
myDictionaryを初期化してる部分のコードを見せてくれ!
49: 2017/02/02(木)17:59 ID:MnEp5jUF0(1/2) AAS
>>47
中身がnamed tupleだからだと思うよ
(key: “sections”, value: 4)

あと通常は明示的にArrayにcastしなくてもいいんでないかな
myDictionary.sorted { $0.value > $1.value }
myDictionary.sorted(by: >) //keyでsort
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.028s