Xcode 在cocoa应用程序中以整数形式检索垃圾箱大小

Xcode 在cocoa应用程序中以整数形式检索垃圾箱大小,xcode,cocoa,nstask,recycle-bin,Xcode,Cocoa,Nstask,Recycle Bin,cocoa应用程序是否可以将垃圾大小检索为int。执行此操作的正确方法是NSTask吗?没有简单的方法。尽管MacGUI提供了一个统一的垃圾桶,但垃圾桶并不是唯一的东西。每个卷都可以有一个单独的垃圾箱,卷可以来来去去 此外,计算文件夹内容的大小可能非常耗时,因此这似乎不是一个好主意 如果您真的想这样做,您可以使用-[NSFileManager mountedvolumeurlisincludingresourcevaluesforkeys:options://code>,使用CFURLGetFS

cocoa应用程序是否可以将垃圾大小检索为int。执行此操作的正确方法是
NSTask
吗?

没有简单的方法。尽管MacGUI提供了一个统一的垃圾桶,但垃圾桶并不是唯一的东西。每个卷都可以有一个单独的垃圾箱,卷可以来来去去

此外,计算文件夹内容的大小可能非常耗时,因此这似乎不是一个好主意

如果您真的想这样做,您可以使用
-[NSFileManager mountedvolumeurlisincludingresourcevaluesforkeys:options://code>,使用
CFURLGetFSRef()
将URL转换为
FSRef
,使用
FSGetCatalogInfo()从
FSRef
获取卷参考号
passing
kFSCatInfoVolume
对于
whichInfo
,使用
FSFindFolder()
passing
kTrashFolderType
对于
folderType
,使用
CFURLCreateFromFSRef()
将生成的
FSRef
转换为URL,使用
-[NSFileManager枚举器URL:includingPropertiesForKeys:options:errorHandler:
数组中传递
NSURTotalFileAllocatedSizeKey
,通过该枚举器枚举,将每个项的
NSURTotalFileAllocatedSizeKey
作为一个
NSNumber
,并累积
-UnsignedLongValue其中的s
NSNumber
s

实际上,使用
FSGetVolumeInfo()枚举卷可能更容易
,为
卷传递
kFSInvalidVolumeRefNum
,为
卷索引传递一个从1开始的索引。为
卷索引传递
kFSVolInfoNone
,为
whichInfo
。增加索引并重复,直到返回
nsvErr
。其优点是,这为您提供了卷参考号d这样您就不必直接从URL转到
FSRef
卷参考号。缺点是这又是一个旧式API。但是,您别无选择,只能使用这些API,因为上面提到的
FSFindFolder()
是无法替代的


无论如何,当您枚举卷以获取其垃圾文件夹时,您必须准备好遇到没有垃圾文件夹的卷。例如,网络安装的卷通常没有垃圾文件夹。

没有简单的方法可以做到这一点。尽管Mac GUI提供了一个统一的垃圾箱,但垃圾箱并不是唯一的东西。每个卷都可以有垃圾箱一个单独的垃圾箱和卷可以来来去去

此外,计算文件夹内容的大小可能非常耗时,因此这似乎不是一个好主意

如果您真的想这样做,您可以使用
-[NSFileManager mountedvolumeurlisincludingresourcevaluesforkeys:options://code>,使用
CFURLGetFSRef()
将URL转换为
FSRef
,使用
FSGetCatalogInfo()从
FSRef
获取卷参考号
passing
kFSCatInfoVolume
对于
whichInfo
,使用
FSFindFolder()
passing
kTrashFolderType
对于
folderType
,使用
CFURLCreateFromFSRef()将生成的
FSRef
转换为URL
,使用
-[NSFileManager枚举器URL:includingPropertiesForKeys:options:errorHandler:
数组中传递
NSURTotalFileAllocatedSizeKey
,通过该枚举器枚举,将每个项的
NSURTotalFileAllocatedSizeKey
作为一个
NSNumber
,并累积
-UnsignedLongValue其中的s
NSNumber
s

实际上,使用
FSGetVolumeInfo()枚举卷可能更容易
,为
卷传递
kFSInvalidVolumeRefNum
,为
卷索引传递一个从1开始的索引。为
卷索引传递
kFSVolInfoNone
,为
whichInfo
。增加索引并重复,直到返回
nsvErr
。其优点是,这为您提供了卷参考号d这样您就不必直接从URL转到
FSRef
卷参考号。缺点是这又是一个旧式API。但是,您别无选择,只能使用这些API,因为上面提到的
FSFindFolder()
是无法替代的


无论如何,当您枚举卷以获取其垃圾文件夹时,您必须准备遇到没有垃圾文件夹的卷。例如,网络安装的卷通常没有垃圾文件夹。

占用的总字节数。例如,垃圾大小:25MB占用的总字节数。例如,垃圾大小:25MB