我试图在文件操作执行后获得回调,但我无法捕获NSWorkspaceDidPerformFileOperationNotification发布。
[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(finderDidFileOperation:) name:NSWorkspaceDidPerformFileOperationNotification object:[NSWorkspace sharedWorkspace]];
[[NSWorkspace sharedWorkspace] performFileOperation:fileOp source:source destination:item.fullPath files:objects tag:&tag];
对象:无
也没有用,
[[NSWorkspace sharedWorkspace] addObserver:self forKeyPath:NSWorkspaceDidPerformFileOperationNotification options:NSKeyValueObservingOptionNew context:nil];
太
我做错了什么?
答案 0 :(得分:3)
我认为这里的关键是NSWorkspace
将通知发布到其通知中心,而不是全局默认通知。来自the docs:
在此方法返回之前,它会将NSWorkspaceDidPerformFileOperationNotification发布到NSWorkspace对象的通知中心。
尝试使用该通知中心注册通知,如下所示:
[[[NSWorkspace sharedWorkspace] notificationCenter]
addObserver:self
selector:@selector(finderDidFileOperation:)
name:NSWorkspaceDidPerformFileOperationNotification
object:[NSWorkspace sharedWorkspace]];