2

私は男からこのコードを使用しています

このコードの途中に、

- (NSString *)hexStringFromColor {
        return [NSString stringWithFormat:@"%0.6X", self.rgbHex];
}

これは、Xcode4.4までは正常に機能していました。ここで、このエラーが表示 されます。formatは型unsigned intを指定していますが、引数の型はUInt32(別名unsigned long)です。

Xcodeが4.4で文句を言うのに、以前は文句を言わないのはなぜですか?どの指定子を使用する必要がありますか?

ありがとう。

4

2 に答える 2

2

を試してください%0.6lX。ここで、「l」は、次の「X」がintではなくlongであることを指定します。ll値が実際にlonglongの場合にも使用できます。

ここに画像の説明を入力してください

于 2012-09-14T15:53:13.097 に答える
2

unsigned longのように見えるのでrgbHex、正しいフォーマット指定子は@"%0.6lX"、のl略ですlong

iOS文字列形式指定子のリスト

于 2012-09-14T15:55:01.410 に答える