Python的AppKit和ObjectiveC代理

时间:2010-03-04 13:14:31

标签: python objective-c macos appkit

AppKit允许Mac上的Python程序使用ObjectiveC类。我对ObjectiveC不是很熟悉,但我想使用AppKit访问NSSound类来创建音频播放器。

当前音频播放完毕后,我的播放器应执行一些操作,例如从播放列表中加载下一个项目。我想有一个名为sound:didFinishPlaying:的方法,在那一刻被调用。根据文档,必须设置一个接受此方法调用的委托。

有人可以帮我翻译成Python / AppKit吗?如何在Python中实现委托并让它接收didFinishPlaying通知?

1 个答案:

答案 0 :(得分:4)

成功开发基于PyObjC的Cocoa / AppKit应用程序的第一步是学习Objective-C,然后学习Cocoa

第二步是删除Python,并将Objective-C用于您的应用程序。

PyObjC(和MacRuby)是非常棒的技术,但两者的成功要求您了解系统框架的模式和API。 反过来需要具备Objective-C的工作知识,足以构建简单的应用程序。

现在,如果您需要集成一些庞大的Python库 - 比如说Twisted - 那么使用Python作为实现的主要语言将是完全合适的。但是,使用Objective-C和Cocoa API仍然需要良好的知识/舒适基础。