我将颜色值存储在iPad应用程序的数据库中,该应用程序需要带有颜色的图例。每个条目都有自己的颜色值,从十六进制值派生。基本上,我的颜色都是这样的:0X ######。我有一些函数可以取这个值,作为uint32_t,然后把它变成我需要的颜色。但是,我将值存储为String。
我需要做的是将此字符串转换为uint32_t。我需要“0X ######”等于0X ######,如果这是有道理的。我知道这可能是不可能的,在这种情况下我将不得不找到另一种解决方案。
答案 0 :(得分:2)
您可以使用NSScanner
。
NSScanner * scanner = [NSScanner scannerWithString:@"0XAABBCC"];
uint32_t val;
[scanner scanHexLongLong:&val];
答案 1 :(得分:1)
我得到了这段代码,这将在我的代码中起作用,
NSScanner * scannered = [NSScanner scannerWithString:colorHex];
uint32_t scanedVal;
[scannered scanHexLongLong:(unsigned long long *)&scanedVal];
NSLog(@"scanner _____%u",scanedVal);