【发布时间】:2014-08-05 02:58:21
【问题描述】:
我想知道为什么会这样(注意我使用的是 NSString 类型):
let stringToSearch:NSString = "I want to make a cake and then prepare coffee"
let searchTerm:NSString = "cake"
let scanner = NSScanner(string: stringToSearch)
var result:NSString? = nil
scanner.scanUpToString(searchTerm, intoString:&result)
println(result) // correctly outputs "I want to make a"
但是如果我尝试使用“String”类型而不是“NSString”,这将无法编译:
let altStringToSearch:String = "I want to make a cake and then prepare coffee"
let altSearchTerm:String = "cake"
let altScanner = NSScanner(string: altStringToSearch)
var altResult:String? = nil
altScanner.scanUpToString(altSearchTerm, intoString:&altResult)
println(result)
错误提示“无法将表达式的类型 'BOOL' 转换为类型 'inout String?'在 scanUpToString 行上。我不确定它指的是什么 BOOL。
那么,NSScanner 是否不适用于 Swift 字符串类型?有没有我应该使用的新命令?
【问题讨论】:
标签: nsstring swift ios8 xcode6 nsscanner