Xcode 在cocoa应用程序中以整数形式检索垃圾箱大小
cocoa应用程序是否可以将垃圾大小检索为int。执行此操作的正确方法是Xcode 在cocoa应用程序中以整数形式检索垃圾箱大小,xcode,cocoa,nstask,recycle-bin,Xcode,Cocoa,Nstask,Recycle Bin,cocoa应用程序是否可以将垃圾大小检索为int。执行此操作的正确方法是NSTask吗?没有简单的方法。尽管MacGUI提供了一个统一的垃圾桶,但垃圾桶并不是唯一的东西。每个卷都可以有一个单独的垃圾箱,卷可以来来去去 此外,计算文件夹内容的大小可能非常耗时,因此这似乎不是一个好主意 如果您真的想这样做,您可以使用-[NSFileManager mountedvolumeurlisincludingresourcevaluesforkeys:options://code>,使用CFURLGetFS
NSTask
吗?没有简单的方法。尽管MacGUI提供了一个统一的垃圾桶,但垃圾桶并不是唯一的东西。每个卷都可以有一个单独的垃圾箱,卷可以来来去去
此外,计算文件夹内容的大小可能非常耗时,因此这似乎不是一个好主意
如果您真的想这样做,您可以使用-[NSFileManager mountedvolumeurlisincludingresourcevaluesforkeys:options://code>,使用CFURLGetFSRef()
将URL转换为FSRef
,使用FSGetCatalogInfo()从FSRef
获取卷参考号
passingkFSCatInfoVolume
对于whichInfo
,使用FSFindFolder()
passingkTrashFolderType
对于folderType
,使用CFURLCreateFromFSRef()
将生成的FSRef
转换为URL,使用-[NSFileManager枚举器URL:includingPropertiesForKeys:options:errorHandler:
在键
数组中传递NSURTotalFileAllocatedSizeKey
,通过该枚举器枚举,将每个项的NSURTotalFileAllocatedSizeKey
作为一个NSNumber
,并累积-UnsignedLongValue代码>其中的sNSNumber
s
实际上,使用FSGetVolumeInfo()枚举卷可能更容易
,为卷传递kFSInvalidVolumeRefNum
,为卷索引传递一个从1开始的索引。为卷索引传递kFSVolInfoNone
,为whichInfo
。增加索引并重复,直到返回nsvErr
。其优点是,这为您提供了卷参考号d这样您就不必直接从URL转到FSRef
卷参考号。缺点是这又是一个旧式API。但是,您别无选择,只能使用这些API,因为上面提到的FSFindFolder()
是无法替代的
无论如何,当您枚举卷以获取其垃圾文件夹时,您必须准备好遇到没有垃圾文件夹的卷。例如,网络安装的卷通常没有垃圾文件夹。没有简单的方法可以做到这一点。尽管Mac GUI提供了一个统一的垃圾箱,但垃圾箱并不是唯一的东西。每个卷都可以有垃圾箱一个单独的垃圾箱和卷可以来来去去
此外,计算文件夹内容的大小可能非常耗时,因此这似乎不是一个好主意
如果您真的想这样做,您可以使用-[NSFileManager mountedvolumeurlisincludingresourcevaluesforkeys:options://code>,使用CFURLGetFSRef()
将URL转换为FSRef
,使用FSGetCatalogInfo()从FSRef
获取卷参考号
passingkFSCatInfoVolume
对于whichInfo
,使用FSFindFolder()
passingkTrashFolderType
对于folderType
,使用CFURLCreateFromFSRef()将生成的FSRef
转换为URL
,使用-[NSFileManager枚举器URL:includingPropertiesForKeys:options:errorHandler:
在键
数组中传递NSURTotalFileAllocatedSizeKey
,通过该枚举器枚举,将每个项的NSURTotalFileAllocatedSizeKey
作为一个NSNumber
,并累积-UnsignedLongValue代码>其中的sNSNumber
s
实际上,使用FSGetVolumeInfo()枚举卷可能更容易
,为卷传递kFSInvalidVolumeRefNum
,为卷索引传递一个从1开始的索引。为卷索引传递kFSVolInfoNone
,为whichInfo
。增加索引并重复,直到返回nsvErr
。其优点是,这为您提供了卷参考号d这样您就不必直接从URL转到FSRef
卷参考号。缺点是这又是一个旧式API。但是,您别无选择,只能使用这些API,因为上面提到的FSFindFolder()
是无法替代的
无论如何,当您枚举卷以获取其垃圾文件夹时,您必须准备遇到没有垃圾文件夹的卷。例如,网络安装的卷通常没有垃圾文件夹。占用的总字节数。例如,垃圾大小:25MB占用的总字节数。例如,垃圾大小:25MB