首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSRunningApplication‘终止’不可观测

NSRunningApplication‘终止’不可观测
EN

Stack Overflow用户
提问于 2010-11-08 20:57:45
回答 4查看 1.8K关注 0票数 14

我正在构建一个程序,该程序启动另一个程序,然后监视它,并在它终止时采取行动。当应用程序启动时,我可以从NSRunningApplication NSWorkspace获得一个实例。

现在,文档声明NSRunningApplication的属性“终止”,这是键值可观察的。我试着实现:

代码语言:javascript
复制
[browserInstance addObserver:self 
                          forKeyPath:@"terminated"
                             options:NSKeyValueObservingOptionNew
                             context:NULL];

和:

代码语言:javascript
复制
- (void)observeValueForKeyPath:(NSString *)keyPath 
                      ofObject:(id)object 
                        change:(NSDictionary *)change
                       context:(void *)context  
{  

        NSLog(@"observeValueForKeyPath");  
        if ([keyPath isEqual:@"terminated"])  
        {  
            NSLog(@"terminated");  
        }  
} 

但我从未见过observeValueForKeyPath方法会被绊倒。如果可能的话,有谁知道如何使这件事成功吗?我还没能在网上找到任何具体的例子。

EN

回答 4

Stack Overflow用户

发布于 2011-01-24 20:07:55

你试过keyPath的"isTerminated“吗?

注意,在NSRunningApplication的文档中,属性terminated指定getter isTerminated,而不是默认的getter terminated。(这是有意义的,因为布尔属性"is“或”isn“)

这表明obj-c属性解析中可能存在错误,其中getter的名称用于KVO路径。

票数 17
EN

Stack Overflow用户

发布于 2011-01-23 16:09:00

最后我用了:

代码语言:javascript
复制
NSNotificationCenter *center = [[NSWorkspace sharedWorkspace] notificationCenter];

    // Install the notifications.

    [center addObserver:self 
               selector:@selector(appLaunched:) 
                   name:NSWorkspaceDidLaunchApplicationNotification 
                 object:nil];
    [center addObserver:self 
               selector:@selector(appTerminated:) 
                   name:NSWorkspaceDidTerminateApplicationNotification 
                 object:nil];

然后实现appLaunchedappTerminated方法。

票数 4
EN

Stack Overflow用户

发布于 2010-11-09 01:05:47

“是否插入”问题:您已经验证了browserInstance不是nil,对吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4128002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档