【发布时间】:2016-11-07 20:39:07
【问题描述】:
我编写了一个扩展来从十六进制字符串返回 UIColor。虽然可行,但我不太明白这段代码的目的
var rgbValue: UInt32 = 0
Scanner(string: cleanHexStr).scanHexInt32(&rgbValue)
您能否对此提供一些见解/详细的理解?谢谢。
【问题讨论】:
我编写了一个扩展来从十六进制字符串返回 UIColor。虽然可行,但我不太明白这段代码的目的
var rgbValue: UInt32 = 0
Scanner(string: cleanHexStr).scanHexInt32(&rgbValue)
您能否对此提供一些见解/详细的理解?谢谢。
【问题讨论】:
第一部分为字符串cleanHexString 创建NSScanner 的实例。 (扫描仪被“附加”到一个字符串上。)
然后在这个扫描器上执行scanHexInt32() 以获取字符串表示的整数值。 rgbValue 是一个外在的论点。 (指向它的指针被传递,C 中的外参数的技术是什么。NSScanner 是一个Objective-C 类。)
【讨论】:
cleanHexString 创建Scanner 的实例之后,scanHexInt32 究竟做了什么?
rgbValue 中返回结果。没有什么可以比较的。干什么用的?
cleanHexStr 寻找一个 32 位整数?例如,如果我输入字符串ffffff,根据Xcode,rbgValue的值是16777215。我不确定这个值是什么意思。你能详细说明一下吗?