虽然我是Cocoa和Objective-C的初学者,但我试图“优雅地”这样做,即.使用提供的类之一,而不是进行外部shell调用或列出已安装的文件系统并找到路径所属的类.
我确实找到了NSWorkspace和getfileSystemInfoForPath,但它没有提到挂载点.
有人可以帮忙吗?
谢谢
解决方法 这应该是这样的:+ (Nsstring*)volumenameForPath:(Nsstring *)inPath{ HFSUniStr255 volumename; FSRef volumeFSRef; unsigned int volumeIndex = 1; while (FSGetVolumeInfo(kFSInvalIDVolumeRefNum,volumeIndex++,NulL,kFSVolinfoNone,&volumename,&volumeFSRef) == noErr) { NSURL *url = [(NSURL *)CFURLCreateFromFSRef(NulL,&volumeFSRef) autorelease]; Nsstring *path = [url path]; if ([inPath hasPrefix:path]) { return [Nsstring stringWithCharacters:volumename.unicode length:volumename.length] } } return nil;}总结
以上是内存溢出为你收集整理的os x的cocoa objective-c:从路径获取卷装入点全部内容,希望文章能够帮你解决os x的cocoa objective-c:从路径获取卷装入点所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)