iphone - 格式说明符

时间:2012-09-14 15:47:26

标签: iphone ios ipad

我正在使用来自某个人的this code

在此代码的中间,我们有

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

直到Xcode 4.4才能正常工作。现在,我看到了这个错误: 格式指定unsigned int类型,但参数的类型为UInt32(也称为unsigned long)。

为什么Xcode会在4.4但不是之前抱怨?我应该使用什么说明符?

感谢。

2 个答案:

答案 0 :(得分:2)

尝试%0.6lX,其中'l'指定后面的'X'是long而不是int。如果值实际上是很长的话,您也可以使用ll

enter image description here

答案 1 :(得分:2)

由于rgbHex似乎是无符号长整数,因此正确的格式说明符为@"%0.6lX",其中l代表long

List of iOS String Format Specifiers