(Swift.LazyMapCollection <swift.dictionary <swift.string,swift.string =“”>(_ base:[]

时间:2016-04-26 20:19:55

标签: string swift nsdictionary

代码说它完全没问题并且没有错误,但是当我去运行模拟器时,这些单词将包括:

  

(Swift.LazyMapCollection&lt; Swift.Dictionary&lt; Swift.String,Swift.String&gt;(_ base:[]

我正在尝试创建一个显示引用的引用应用。

This is the screenshot with the simulator

以下是Plist导入的代码:

import Foundation

struct ImportList {
let path: String

init(FileName: String) {
    self.path = NSBundle.mainBundle().pathForResource("\(FileName)", ofType:"plist")!
}

var dict: Dictionary<String, String> {
    return NSDictionary(contentsOfFile: path)! as! Dictionary
}

var array: Array<AnyObject> {
    return [String](arrayLiteral: String(dict.keys) { $0 as String})
}

func count() -> Int {
    return array.count
}
}

谢谢。

1 个答案:

答案 0 :(得分:4)

在这种情况下不要使用arrayLiteral,只需使用Array()

var array: Array<AnyObject> {
    return Array(dict.keys)
}

它可以安全地将延迟集合转换为实际数组。