2010-03-04 134 views
3

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

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

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

回答

4

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

第二步是放弃Python,并为您的应用程序使用Objective-C。 PyObjC(和MacRuby)是非常棒的技术,但两者的成功都需要你理解系统框架的模式和API。 反过来需要Objective-C的工作知识,足以构建简单的应用程序。

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