您可以将 KVO 与 Scripting Bridge 一起使用吗?
我想知道我是否可以为我的应用程序创建一个脚本桥接口,并允许通过观察我的应用程序的一个 SB 命令返回的对象来通知客户端应用程序。
这可能吗?如果没有,有什么替代方案?
您可以将 KVO 与 Scripting Bridge 一起使用吗?
我想知道我是否可以为我的应用程序创建一个脚本桥接口,并允许通过观察我的应用程序的一个 SB 命令返回的对象来通知客户端应用程序。
这可能吗?如果没有,有什么替代方案?
Scripting Bridge 对象只是向应用程序发送事件并获得回复的 Cocoa 风味的糖。如果您观察对象的属性,则不会向它发送任何消息,因此您不会向应用程序发送任何事件。Apple 事件系统中没有办法观察某些事情——您可以发送事件并获得回复,仅此而已。
做你想做的事的唯一方法是轮询:每 x 秒向应用程序发送一个事件,询问当前状态。
如果您尝试在 iTunes 中观察当前曲目或播放状态,那么仅此一项,您就不需要轮询,因为当当前曲目或播放状态发生变化时,iTunes 会发布(未记录的)分布式通知。您可以使用Notification Watcher在收到通知时对其进行检查,以便知道要从中提取什么。
我为关心我的问题的任何人找到了一种称为分布式对象的替代解决方案。