objective-c - 进行连续循环以从 iTunes 获取信息的最佳方式是什么?

标签 objective-c macos cocoa loops nstimer

我想进行连续循环以从 iTunes 获取信息,以获取以下内容:播放器位置 (1:37)、当前正在播放的轨道等...我正在使用 iTunes.hScriptingBridge获取 iTunes 数据。

我尝试过使用 [NSTimer scheduledTimerWithTimeInterval:0 target:self selector:@selector(getInformation) userInfo:nil repeats:YES];但从我在事件监视器上看到的情况来看,这会消耗大量 CPU,例如,如果我按下 NSWindow 内的按钮我在哪里有NSTimer ,我的应用程序的 UI 本来应该更新,但没有更新。如果我松开按钮,用户界面就会开始正常更新。
我也尝试过使用 while(1){}但由于某种原因我的应用程序卡住了。

Any1 是否知道如何执行我正在寻找的操作?

最佳答案

这会疯狂地消耗CPU..不要轮询!

<小时/>

注册分布式通知:

//the distributed notification sent
#define SONG_CHANGE_NOTIFICATION @"com.apple.iTunes.playerInfo"
<小时/>

无耻的广告:看看 github 上的 DDBoomBox 源代码,它完全可以做你想做的事:)

https://github.com/Daij-Djan/BoomBox

关于objective-c - 进行连续循环以从 iTunes 获取信息的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14085893/

相关文章:

python - mpi4py 返回排名差异

objective-c - 无法使用 iTunes 脚本桥和沙盒搜索音乐

ios - 将参数从一个 View Controller 传递到另一个 View Controller 时崩溃

java - 以编程方式在 AWS S3 上启用版本控制

c++ - 我在 Mac OS X 上的 .dylib 文件在哪里?

macos - 有哪些方法或工具可用于检查 Mac 桌面应用程序中的元素

cocoa - 为什么不可变对象(immutable对象)在 Cocoa 中有简单的内存管理?

objective-c - NSViewController 相当于以下 UIViewController 函数/变量?

c++ - 从 vector 中获取浮点值

ios - 如何创建不振动的 iOS 推送通知?