当用户清空垃圾桶时,我的可可应用如何收到通知。这是我到目前为止的内容:

 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/

10-13 07:36