objective-c - 用户清空垃圾时通知?

标签 objective-c macos cocoa nsnotificationcenter nsworkspace

当用户清空垃圾箱时,我的 cocoa 应用程序如何收到通知。这是我到目前为止所拥有的:

 NSNotificationCenter *notCenter = [[NSWorkspace sharedWorkspace]
                                       notificationCenter];
    AppDelegate *mainController = [[AppDelegate alloc] init];

    [notCenter addObserver:mainController
                  selector:@selector(handleTrashEmpty)
                      name:NSWorkspaceRecycleOperation object:nil];

但是当用户清空垃圾箱时什么也没有出现。有什么想法为什么这段代码不起作用吗?

最佳答案

第一种方法:

您可以使用 UKKQueue 来观看文件更改(空鞭打)通知:

http://www.cocoadev.com/index.pl?UKKQueue

第二种方式:

继续检查计时器,如果 [folderList count]==0,则表示垃圾箱已清空。

NSError *error=nil;
NSString *path=[NSHomeDirectory() stringByAppendingPathComponent:@".Trash"];
NSArray *folderList=[[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:&error];

第三种方式:

观看〜/.Trash,清空垃圾箱时会发布“com.apple.carbon.core.DirectoryNotification”。

关于objective-c - 用户清空垃圾时通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13386974/

相关文章:

objective-c - 在 NSCell 内渲染图标 (Cocoa OSX)

ios - XCode 6.3 自动完成功能不起作用

iphone - 录制视频时更改相机捕获设备

objective-c - 使用 CoreAudio 创建简单的波形

ios - Passbook 文件在 Safari OSX 上打开,但不是 Safari iOS

mysql - 在 MySQL Workbench 中查看长错误响应

c++ - 我在哪里可以找到 mac OS X 的 mach_host 库?

iphone - 退出时保存应用程序数据状态

objective-c - KVO 和 NSMutableArray

cocoa - NSView 中的自动布局 NSImageView - 缩放大小。以编程方式设置 NSLayoutConstraint