gpt4 book ai didi

nsstring - NSScanner 是否支持 Swift 字符串?

转载 作者:IT王子 更新时间:2023-10-29 05:41:35 25 4
gpt4 key购买 nike

我想知道为什么会这样(注意我使用的是 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 String 类型吗?有没有我应该改用的新命令?

最佳答案

scanUpToString 方法的第二个参数必须是指向 NSString 的指针。其他参数可以是 String。此代码将起作用:

let altStringToSearch:String = "I want to make a cake and then prepare coffee"
let altSearchTerm:String = "cake"
let altScanner = NSScanner(string: altStringToSearch)
var altResult:NSString?
altScanner.scanUpToString(altSearchTerm, intoString:&altResult) // altResult : "I want to make a "

关于nsstring - NSScanner 是否支持 Swift 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24224136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com