PyObjCPython 和 Objective-C 的交互接口

联合创作 · 2023-10-01 12:44

PyObjC 旨在为 PythonObjective-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)
浏览 3
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报