componentsSeparatedByString

componentsSeparatedByString

正如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])")显示一个字符串。
我该怎么做才能让一个数组充满Strings(而不是AnyObject值),这样我就能够将myStringdico[3]进行比较?

最佳答案

您可以这样转换数组:

let dico = NSString(contentsOfFile: path).componentsSeparatedByString("\n") as [String]

关于swift - componentsSeparatedByString返回AnyObject,而不是String,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24334123/

10-09 14:54