2016-11-07 16 views
1

私は、16進文字列からUIColorを返す拡張を書きました。動作しますが、このコードの目的をよく理解していません。NSScanner(Scanner)に関する混乱

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

これについていくつかの洞察と詳細な理解はありますか?ありがとうございました。

答えて

1

最初の部分は、文字列cleanHexStringNSScannerのインスタンスを作成します。

scanHexInt32()このスキャナでは、文字列表現の整数値を取得するためにscanHexInt32()が実行されます。 rgbValueは引数外です。 (それへのポインタが渡されます.Cののout-argumentsのテクニックはObjective-Cクラスです)

+0

これは2つの値を比較していますか? したがって、 'cleanHexString'から' Scanner'のインスタンスを作成した後、 'scanHexInt32'はどうしますか? –

+0

私が言ったように、それは添付された文字列をスキャンして32ビットの整数値を返し、結果を 'rgbValue'に返します。何も比較されません。何のために? –

+0

したがって、32ビット整数に対して 'cleanHexStr'をスキャンしますか?例えば、文字列 'ffffff'を入力すると、' rbgValue'の値はXcodeによると** 16777215 **となります。私はその価値が何を意味するのか分かりません。あなたは詳しく説明できますか? –

関連する問題