Objective c 如何将NSString中的路径转换为CFURLRef和FSRef*

Objective c 如何将NSString中的路径转换为CFURLRef和FSRef*,objective-c,file,Objective C,File,我需要使用几个需要CFURLRef和FSRef*的函数,目前我只有一个存储在NSString中的路径。 执行此转换的(最有效)方法是什么 提前感谢您的帮助,使用NSURL可以轻松地将路径转换为CFURL,NSURL是免费桥接的。还有一个CFURL函数,可以为它提供一个FSRef。给定一个名为thePath的NSString,这段代码将同时为您提供这两个参数 CFURLRef url = (CFURLRef)[NSURL fileURLWithPath:thePath]; FSRef fileRe

我需要使用几个需要CFURLRef和FSRef*的函数,目前我只有一个存储在NSString中的路径。 执行此转换的(最有效)方法是什么


提前感谢您的帮助,

使用NSURL可以轻松地将路径转换为CFURL,NSURL是免费桥接的。还有一个CFURL函数,可以为它提供一个FSRef。给定一个名为thePath的NSString,这段代码将同时为您提供这两个参数

CFURLRef url = (CFURLRef)[NSURL fileURLWithPath:thePath];
FSRef fileRef;
CFURLGetFSRef(url, &fileRef);

如果您已经有一个指向
FSRef
的有效指针,您可以直接将它传递到
CFURLGetFSRef

感谢您快速有效的回答:)对于ARC,它必须是CFURLRef url=(u_桥CFURLRef)[NSURL fileURLWithPath:path];代码真的有效吗?fileRef未初始化也不会通过调用CFURLGetFSRef进行设置。在我看来,这可能会导致崩溃。正确的用法是声明“FSRef fileRef”,然后将其作为&fileRef@Thomas谢谢我不知道以前是怎么没人抓到它的,也许它总是被一个已经有了有效指针来存储它的人使用的。(固定)