正如Xcode的快速帮助中所写
func componentsseparatedbystring(分隔符:string!)->任何对象[]!
因此,componentsSeparatedByString
返回一个AnyObject
类型。
在这部分代码之后
let bundle = NSBundle.mainBundle()
let path = bundle.pathForResource("data", ofType: "txt")
/*data.txt is like that :
"Cat"
"Dog"
"Mouse"
*/
let dico = NSString(contentsOfFile: path).componentsSeparatedByString("\n")
Xcode不希望我比较,例如,
dico[3]
到myString
。if myString == dico[3] { //Error : Type 'AnyObject' cannot be implicitly downcast to 'NSString'
return true
}
但是,
println("\(dico[1])")
显示一个字符串。我该怎么做才能让一个数组充满
String
s(而不是AnyObject
值),这样我就能够将myString
与dico[3]
进行比较? 最佳答案
您可以这样转换数组:
let dico = NSString(contentsOfFile: path).componentsSeparatedByString("\n") as [String]
关于swift - componentsSeparatedByString返回AnyObject,而不是String,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24334123/