【发布时间】:2016-03-22 03:23:44
【问题描述】:
我正在使用NSScanner 扫描字符串并从中提取双精度。这是我尝试解决问题的沙盒代码
let string = "maxage=1234567890"
let scanner2 = NSScanner(string: string)
scanner2.scanUpToString("=", intoString: nil)
scanner2.scanString("=", intoString: nil)
let maxage2:UnsafeMutablePointer<Double> = UnsafeMutablePointer<Double>()
scanner.scanDouble(maxage2)
print(scanner2.scanLocation)
print(maxage2)
打印出来:
7
0x0000000000000000
所以前两个调用消耗字符串的第一部分工作,但扫描一个双不工作。
我见过其他类似这样的解决方案:
var double = 0.0
scanner.scanDouble(&double)
但这似乎不再适用于 Swift。也许它在早期版本中是这样的?
我该如何解决这个问题?
【问题讨论】:
-
对我仍然有效
标签: swift cocoa cocoa-touch nsscanner