4

我在 Cocoa 应用程序中有以下代码:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
   NSArray* arrayAppList = [[NSWorkspace sharedWorkspace] runningApplications];
}

我的意图是使用 KVO 在将应用程序的状态从非活动更改为活动时检测应用程序。

我读到我必须使用实例方法-addObserver:forKeyPath:options:context:

然后用于-observeValueForKeyPath:ofObject:change:context:响应更改通知。

我知道这-observeValueForKeyPath是一种回调方法,我可以在其中编写代码来响应我感兴趣的属性更改。

尽管如此,我对必须如何使用 addObserver 方法以便在active属性runningApplications更改时收到通知感到困惑。现在,我想知道在哪里进行注册,现在我正在使用-applicationDidFinishLaunching但不确定是否是正确的地方。此外,如果我使用-observeValueForKeyPath回调方法,我必须在继承自的类中实现它,NSObject并且与我注册通知的类相同?

4

1 回答 1

4
于 2011-11-29T21:04:04.890 回答