当用户清空垃圾箱时,我的 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/