Ich benutze NSScanner
, um eine Zeichenkette zu scannen und ein Doppel daraus zu extrahieren. Hier ist mein Sandbox-Code, um zu versuchen und zu lösen das ProblemNSScanner scanDouble UnsafeMutablePointer
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)
druckt:
7
0x0000000000000000
So die ersten beiden Anrufe den ersten Teil des Strings Arbeit zu verbrauchen, aber dann eine doppelte Abtastung ist nicht Arbeiten.
Ich habe andere Lösungen zu sehen, die wie folgt aussehen:
var double = 0.0
scanner.scanDouble(&double)
Aber das scheint nicht mehr in Swift zu arbeiten. Vielleicht hat es in einer früheren Version gemacht?
Wie kann ich das beheben?
Noch funktioniert für mich –