1
私は、16進文字列からUIColorを返す拡張を書きました。動作しますが、このコードの目的をよく理解していません。NSScanner(Scanner)に関する混乱
var rgbValue: UInt32 = 0
Scanner(string: cleanHexStr).scanHexInt32(&rgbValue)
これについていくつかの洞察と詳細な理解はありますか?ありがとうございました。
私は、16進文字列からUIColorを返す拡張を書きました。動作しますが、このコードの目的をよく理解していません。NSScanner(Scanner)に関する混乱
var rgbValue: UInt32 = 0
Scanner(string: cleanHexStr).scanHexInt32(&rgbValue)
これについていくつかの洞察と詳細な理解はありますか?ありがとうございました。
最初の部分は、文字列cleanHexString
のNSScanner
のインスタンスを作成します。
scanHexInt32()
このスキャナでは、文字列表現の整数値を取得するためにscanHexInt32()
が実行されます。 rgbValue
は引数外です。 (それへのポインタが渡されます.Cののout-argumentsのテクニックはObjective-Cクラスです)
これは2つの値を比較していますか? したがって、 'cleanHexString'から' Scanner'のインスタンスを作成した後、 'scanHexInt32'はどうしますか? –
私が言ったように、それは添付された文字列をスキャンして32ビットの整数値を返し、結果を 'rgbValue'に返します。何も比較されません。何のために? –
したがって、32ビット整数に対して 'cleanHexStr'をスキャンしますか?例えば、文字列 'ffffff'を入力すると、' rbgValue'の値はXcodeによると** 16777215 **となります。私はその価値が何を意味するのか分かりません。あなたは詳しく説明できますか? –