关于 NSScanner(扫描仪)的困惑

Confusion regarding NSScanner (Scanner)

我写了 return 来自十六进制字符串的 UIColor 的扩展。虽然可以,但是不太明白这段代码的用途

var rgbValue: UInt32 = 0
Scanner(string: cleanHexStr).scanHexInt32(&rgbValue)

您能否对此提供一些insight/detailed理解?谢谢。

第一部分为字符串 cleanHexString 创建 NSScanner 的实例。 (扫描器 "attached" 到一个字符串。)

然后在这个扫描器上执行scanHexInt32()来获取字符串表示的整数值。 rgbValue 是一个反驳。 (传递指向它的指针,C 中的外参技术是什么。NSScanner 是一个 Objective-C class。)