首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将CFNumberRef转换为NSInteger

将CFNumberRef转换为NSInteger
EN

Stack Overflow用户
提问于 2013-04-10 16:24:41
回答 1查看 1.6K关注 0票数 1
代码语言:javascript
运行
复制
#import "someClass.h"

@implementation someClass

- (NSInteger *)checkWakeOnLan {
    SCDynamicStoreRef ds = SCDynamicStoreCreate(kCFAllocatorDefault, CFSTR("myapp"), NULL, NULL);
    CFDictionaryRef dr = SCDynamicStoreCopyValue(ds, CFSTR("State:/IOKit/PowerManagement/CurrentSettings"));
    CFNumberRef wol=CFDictionaryGetValue(dr, CFSTR("Wake On LAN"));
    CFRelease(dr);
    CFRelease(ds);

这里是我的问题,如何将CFNumberRef转换成NSInteger,我试了一次又一次,但在任何时候都得到了"makes from pointer makes cast“。

代码语言:javascript
运行
复制
    NSInteger *value = [... ?];
    return value;
}

- (IBAction)doStuff:(NSButton *)sender {
    [myBevelButton setState:[self checkWakeOnLan]]; //setState takes NSInteger
    //myBevelButton defined elsewhere, shows different icons 
}

@end   
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-10 16:27:14

使用以下命令:

//假设您要先将wol转换为NSNumber,再转换为NSInteger

代码语言:javascript
运行
复制
NSNumber *nsnumber = (NSNumber*)wol;
NSInteger value = [nsnumber integerValue];

*注意:您很少需要NSInteger指针。在您的例子中,您可以很容易地使用NSInteger。此外,您还需要将方法更改为- (NSInteger)checkWakeOnLan

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15920616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档