当用户清空垃圾桶时,我的可可应用如何收到通知。这是我到目前为止的内容:
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/