1
我寫了一個擴展名以從十六進制字符串返回UIColor。雖然它有效,但我不太明白這段代碼的用途關於NSScanner(掃描儀)的混淆
var rgbValue: UInt32 = 0
Scanner(string: cleanHexStr).scanHexInt32(&rgbValue)
您能否提供一些見解/詳細的理解?謝謝。
我寫了一個擴展名以從十六進制字符串返回UIColor。雖然它有效,但我不太明白這段代碼的用途關於NSScanner(掃描儀)的混淆
var rgbValue: UInt32 = 0
Scanner(string: cleanHexStr).scanHexInt32(&rgbValue)
您能否提供一些見解/詳細的理解?謝謝。
第一部分爲字符串cleanHexString
創建NSScanner
的實例。 (掃描儀「附加」到一個字符串。)
然後scanHexInt32()
在此掃描程序上執行以獲取字符串表示的整數值。 rgbValue
是一個不合理的論點。 (指向它的指針,C中的out-arguments的技術是什麼Objective-C類。)
那麼它是比較這兩個值嗎? 因此,在從'cleanHexString'創建一個'Scanner'實例後,'scanHexInt32'具體做了什麼? –
正如我所說:它掃描附加的字符串的32位整數值,並返回結果在'rgbValue'。沒有什麼比較。做什麼的? –
因此它掃描'cleanHexStr'爲一個32位整數?例如,如果我輸入字符串「ffffff」,根據Xcode,「rbgValue」的值是** 16777215 **。我不確定這個價值是什麼意思。你能詳細說明一下嗎? –