从NSCountedSet对象访问Dictionary中的数据

时间:2016-01-31 17:15:12

标签: swift dictionary nscountedset

我有一个NSCountedSetString个对象组成,如果我遍历该集并将其打印出来,我会看到类似这样的内容:

for item in countedSet {
    print(item)
}

Optional(One)
Optional(Two)

countsSet是从ArrayString个对象创建的:

let countedSet = NSCountedSet(array: countedArray)

如果我打印数组,我会看到类似的内容:

["Optional(One)", "Optional(One)", "Optional(One)", "Optional(Two)", "Optional(Two)"]

现在,我想使用这些计数字符串来访问Dictionary中的数据,其中键为String类型,值的类型为[String : AnyObject]。如果我打印字典,我会看到所有数据。

但是,如果我使用countsSet中的对象来访问字典,我总是得到一个nil值:

for item in countedSet {
    let key = item as? String
    let data = dictionary[key!]  // Xcode forced me to unwrap key

    print(data)
}

nil
nil

但是

let key = "One"
let data = dictionary[key]

给了我预期的数据。

我在这里缺少什么,如何从countsSet对象访问我的数据?

更新:感谢Martin R.的评论。String对象最初是NSString个对象(从NSScanner获得),我正在投他们错了:

let string = String(originalString)

我把它改成后:

let string = (originalString as! String)

一切正常。

0 个答案:

没有答案