objective-c – NSRunningApplication“终止”不可观察

objective-c – NSRunningApplication“终止”不可观察,第1张

概述我正在构建一个程序,启动另一个程序,然后应该监视它,并采取行动,如果它终止.启动应用程序后,可以从NSWorkspace获取NSRunningApplication的实例. 现在,该文档说明NSRunningApplication具有关键值可观察的属性“terminate”.我试过实施: [browserInstance addObserver:self 我正在构建一个程序,启动另一个程序,然后应该监视它,并采取行动,如果它终止.启动应用程序后,可以从NSWorkspace获取NSRunningApplication的实例.

现在,该文档说明NSRunningApplication具有关键值可观察的属性“terminate”.我试过实施:

[browserInstance addobserver:self                           forKeyPath:@"terminated"                             options:NSkeyvalueObservingOptionNew                             context:NulL];

和:

- (voID)observeValueForKeyPath:(Nsstring *)keyPath                       ofObject:(ID)object                         change:(NSDictionary *)change                       context:(voID *)context  {          NSLog(@"observeValueForKeyPath");          if ([keyPath isEqual:@"terminated"])          {              NSLog(@"terminated");          }  }

但我从来没有看到observeValueForKeyPath方法被绊倒.有谁知道如何使这项工作,如果可能的话?我在网上找不到任何具体的例子.

解决方法 你试过keyPath“isTerminated”吗?

注意在NSRunningApplication的文档中,属性terminate指定了getter isTerminated,而不是默认的getter终止. (这是有道理的,作为布尔属性“是”或“不是”)

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

总结

以上是内存溢出为你收集整理的objective-c – NSRunningApplication“终止”不可观察全部内容,希望文章能够帮你解决objective-c – NSRunningApplication“终止”不可观察所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1025487.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存