当前位置: 首页>>代码示例>>Python>>正文


Python PyObjC_TestClass3.makeACopy_方法代码示例

本文整理汇总了Python中PyObjCTest.testbndl.PyObjC_TestClass3.makeACopy_方法的典型用法代码示例。如果您正苦于以下问题:Python PyObjC_TestClass3.makeACopy_方法的具体用法?Python PyObjC_TestClass3.makeACopy_怎么用?Python PyObjC_TestClass3.makeACopy_使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PyObjCTest.testbndl.PyObjC_TestClass3的用法示例。


在下文中一共展示了PyObjC_TestClass3.makeACopy_方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: testCopy

# 需要导入模块: from PyObjCTest.testbndl import PyObjC_TestClass3 [as 别名]
# 或者: from PyObjCTest.testbndl.PyObjC_TestClass3 import makeACopy_ [as 别名]
    def testCopy(self):
        class MyCopyClass (NSObject):
            def copyWithZone_(self, zone):
                # NSObject doesn't implement the copying protocol
                #o = super(MyCopyClass, self).copyWithZone_(zone)
                o = self.__class__.alloc().init()
                o.foobar = 2
                return o
            copyWithZone_ = objc.selector(
                copyWithZone_,
                signature=NSObject.copyWithZone_.signature,
                isClassMethod=0)


        # Make sure the runtime correctly marked our copyWithZone_
        # implementation.
        o = MyCopyClass.alloc().init()

        self.assertFalse((o.copyWithZone_.__metadata__()['classmethod']))
        self.assertTrue(o.copyWithZone_.__metadata__()['retval']['already_retained'])
        #self.assertTrue(o.copyWithZone_.callable == MyCopyClass.__dict__['copyWithZone_'].callable)

        o = MyCopyClass.alloc().init()
        o.foobar = 1

        self.assertEquals(o.foobar, 1)

        # Make a copy from ObjC (see testbundle.m)
        c = PyObjC_TestClass3.makeACopy_(o)

        self.assertIsInstance(c, MyCopyClass)
        self.assertEquals(c.foobar, 2)
开发者ID:aosm,项目名称:pyobjc,代码行数:34,代码来源:test_subclass.py


注:本文中的PyObjCTest.testbndl.PyObjC_TestClass3.makeACopy_方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。