#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“。
NSInteger *value = [... ?];
return value;
}
- (IBAction)doStuff:(NSButton *)sender {
[myBevelButton setState:[self checkWakeOnLan]]; //setState takes NSInteger
//myBevelButton defined elsewhere, shows different icons
}
@end
发布于 2013-04-10 16:27:14
使用以下命令:
//假设您要先将wol转换为NSNumber,再转换为NSInteger
NSNumber *nsnumber = (NSNumber*)wol;
NSInteger value = [nsnumber integerValue];
*注意:您很少需要NSInteger指针。在您的例子中,您可以很容易地使用NSInteger。此外,您还需要将方法更改为- (NSInteger)checkWakeOnLan
https://stackoverflow.com/questions/15920616
复制相似问题