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