首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从DiskArbitration CFUUID对象创建字符串

从DiskArbitration CFUUID对象创建字符串
EN

Stack Overflow用户
提问于 2014-06-17 12:17:10
回答 1查看 320关注 0票数 0

在我的程序中,我使用DiskArbitration检查数据库中的一些值,如果发生某些情况,在挂载之前执行一些操作。我在这个回调中使用DARegisterDiskPeekCallback

代码语言:javascript
复制
DARegisterDiskPeekCallback(diskSession, kDADiskDescriptionMatchVolumeMountable, 0, determineIfNewDisk, NULL);

void determineIfNewDisk(DADiskRef disk, void* context)
{
    NSDictionary *diskProps = (__bridge NSDictionary *)DADiskCopyDescription(disk);
    CFUUIDCreateString(nil, *(CFUUIDRef *)diskProps[@"DAVolumeUUID"]);
}

我希望能够使用UUID并获得一个字符串来签入数据库,但是由于diskProps[@"DAVolumeUUID"]返回一个通用指针而不是CFUUIDRef指针,所以它不允许我运行CFUUIDCreateString()。我试图将上面的指针转换为一个CFUUIDRef指针,但是我得到了一个错误:Cast of an Objective-C pointer to 'CFUUIDRef *' ... is disallowed by ARC。如果我不尝试转换,CFUUIDCreateString将不接受指针。

是否有一种方法可以将指针转换为CFUUIDRef指针,或者b)获取UUID的字符串?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-17 12:29:27

请使用以下代码:

代码语言:javascript
复制
CFUUIDCreateString(nil, (CFUUIDRef)diskProps[@"DAVolumeUUID"]);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24263593

复制
相关文章

相似问题

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