Objective C:uint32_t 存储为字符串,需要读取为 uint32_t

发布于 2024-11-16 21:45:10 字数 247 浏览 4 评论 0原文

我正在将颜色值存储在 iPad 应用程序的数据库中,该应用程序需要其中包含颜色的图例。每个条目都有自己的颜色值,该颜色值源自十六进制值。基本上,我的颜色都是这样的:0X######。我有可以将此值作为 uint32_t 的函数,并将其转换为我需要的颜色。但是,我将该值存储为字符串。

我需要做的是将这个字符串转换为 uint32_t。我需要“0X######”等于 0X######,如果这有意义的话。我知道这可能是不可能的,在这种情况下我必须找到另一个解决方案。

I am storing color values in a database for an iPad app that needs a legend with colors in it. Each entry has it's own color value, derived from a hex value. Basically, my colors all look like this: 0X######. I have functions that can take this value, as a uint32_t, and turn it into the color I need. However, I store the value as a String.

What I need to do is convert this string to a uint32_t. I need "0X######" to equal 0X######, if that makes sense. I know this might not be possible, in which case I'll have to find another solution.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

千と千尋 2024-11-23 21:45:10

您可以使用 NSScanner 来实现此目的。

NSScanner * scanner = [NSScanner scannerWithString:@"0XAABBCC"];
uint32_t val;
[scanner scanHexLongLong:&val];

You can use NSScanner for this.

NSScanner * scanner = [NSScanner scannerWithString:@"0XAABBCC"];
uint32_t val;
[scanner scanHexLongLong:&val];
遗忘曾经 2024-11-23 21:45:10

我得到了这段代码,这将在我的代码中起作用,

NSScanner * scannered = [NSScanner scannerWithString:colorHex];

    uint32_t scanedVal;
    [scannered scanHexLongLong:(unsigned long long *)&scanedVal];
    NSLog(@"scanner _____%u",scanedVal);

I got this code this will worked in my code,

NSScanner * scannered = [NSScanner scannerWithString:colorHex];

    uint32_t scanedVal;
    [scannered scanHexLongLong:(unsigned long long *)&scanedVal];
    NSLog(@"scanner _____%u",scanedVal);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文