2017-01-17 1 views
1

A配列の指定されたキーのスワイプ式、空の辞書、または存在しない辞書が配列にある - 確実にゼロ?

blah: [String:[Stuff]] 

の文字列の辞書、「foo」を言って、私はその配列内にあるどのように多くのアイテムを知りたい - そのような配列がある場合は、しかし、Iただ取得したいゼロ

私はこれをやっている

...

blah["foo"]?.count ?? 0 

ので

if ((blah.down["foo"]?.count ?? 0) > 0) { 
    print("some foos exist!!") 
else { 
    print("there are profoundly no foos") 
} 

私は修正アム?

答えて

3

あなたは正しいですが、あなたはそれが簡単にオプション以前削除するかもしれません:

(blah["foo"] ?? []).count 

または

if let array = blah.down["foo"], !array.isEmpty { 
    print("some foos exist!!") 
} else { 
    print("there are profoundly no foos") 
} 
1

はい。しかし、私はおそらくオプションのバインディングでそれを書くだろう:

if let c = blah.down["foo"]?.count, c > 0 { 
    print("some foos exist!!") 
} 
else { 
    print("there are profoundly no foos") 
} 
関連する問題