PyObjCPython 和 Objective-C 的交互接口
PyObjC 旨在为 Python 和 Objective-C 两种语言之间提供交互的接口。Python 语言可以通过PyObjC来使用已有的Objective-C的代码,反过来Objective-C也可以利用Python语言的一些功能。
PyObjC最主要的用处是在 Mac OS X 系统下使用纯Python语言来开发 Cocoa GUI 应用程序。
示例代码:
class MyClass(NSObject): def init(self): """ Designated initializer for MyClass """ # ALWAYS call the super's designated initializer. # Also, make sure to re-bind "self" just in case it # returns something else, or even None! self = objc.super(MyClass, self).init() if self is None: return None self.myVariable = 10 # Unlike Python's __init__, initializers MUST return self, # because they are allowed to return any object! return self class MyOtherClass(MyClass): def initWithOtherVariable_(self, otherVariable): """ Designated initializer for MyOtherClass """ self = objc.super(MyOtherClass, self).init() if self is None: return None self.otherVariable = otherVariable return self myInstance = MyClass.alloc().init() myOtherInstance = MyOtherClass.alloc().initWithOtherVariable_(20)
评论