PyObjC - Python 和 Objective-C 的交互接口


MIT
OS X
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)