我正在使用来自某个人的this code
在此代码的中间,我们有
- (NSString *)hexStringFromColor {
return [NSString stringWithFormat:@"%0.6X", self.rgbHex];
}
直到Xcode 4.4才能正常工作。现在,我看到了这个错误: 格式指定unsigned int类型,但参数的类型为UInt32(也称为unsigned long)。
为什么Xcode会在4.4但不是之前抱怨?我应该使用什么说明符?
感谢。
答案 0 :(得分:2)
尝试%0.6lX
,其中'l'指定后面的'X'是long而不是int。如果值实际上是很长的话,您也可以使用ll
。
答案 1 :(得分:2)
由于rgbHex
似乎是无符号长整数,因此正确的格式说明符为@"%0.6lX"
,其中l
代表long
。