Swift iOS 8,NSDictionary的第一个值

Pat*_*eng 13 iphone swift ios8

我有NSDictionary,我知道它只有一个键和一个值,我怎样才能直接从中得到第一个值?

谢谢,

vac*_*ama 25

如果你有一个Swift Dictionary并且你知道你有1个键/值对,你可以这样做:

var dict = ["aaa":"bbb"]
let v = dict.values.first!
Run Code Online (Sandbox Code Playgroud)

如果你有超过1个键/值对,那么没有"第一"值,因为字典是无序的.如果您没有键/值对,则会崩溃.

如果你有NSDictionary,你可以使用allValues.first!,但你必须转换结果,因为值将是AnyObject:

var dict:NSDictionary = ["aaa":"bbb"]
let v = dict.allValues.first! as! String
Run Code Online (Sandbox Code Playgroud)

要么:

let v = dict.allValues[0] as! String
Run Code Online (Sandbox Code Playgroud)


mat*_*att 7

如果它已经不是一个,则转换为Swift词典.然后使用values属性,强制转换为数组,并获取索引0.

let v = Array(myDictionary.values)[0]
Run Code Online (Sandbox Code Playgroud)

  • `让v = dict.values.first!` (5认同)
  • 但是请注意,如果您有多个键值对,则没有“第一个值”——字典是无序的。这个技巧之所以有效,是因为您确定“count”为 1。 (2认同)