복붙노트

[PYTHON] Objective-C에서 파이썬 호출하기

PYTHON

Objective-C에서 파이썬 호출하기

파이썬 / ObjC 애플리케이션을 개발 중이며 ObjC의 파이썬 클래스에서 몇 가지 메소드를 호출해야한다. 나는 성공하지 못한 몇 가지 물건을 시도했습니다.

해결법

  1. ==============================

    1.PyObjC를 사용하십시오.

    PyObjC를 사용하십시오.

    Leopard 이후에는 포함되어 있습니다.

    >>> from Foundation import *
    >>> a = NSArray.arrayWithObjects_("a", "b", "c", None)
    >>> a
    (
          a,
          b,
          c
    )
    >>> a[1]
    'b'
    >>> a.objectAtIndex_(1)
    'b'
    >>> type(a)
    <objective-c class NSCFArray at 0x7fff708bc178>
    

    그것은 iPython에서도 작동합니다 :

    In [1]: from Foundation import *
    
    In [2]: a = NSBundle.allFrameworks()
    
    In [3]: ?a
    Type:       NSCFArray
    Base Class: <objective-c class NSCFArray at 0x1002adf40>
    

    `

    Objective-C에서 Python으로 호출하는 가장 쉬운 방법은 다음과 같습니다.

    나는.

    @interface Abstract : NSObject
    - (unsigned int) foo: (NSString *) aBar;
    + newConcrete;
    @end
    
    @implementation Abstract
    - (unsigned int) foo: (NSString *) aBar { return 42; }
    + newConcrete { return [[NSClassFromString(@"MyConcrete") new] autorelease]; }
    @end
    
    .....
    
    class Concrete(Abstract):
        def foo_(self, s): return s.length()
    
    .....
    
    x = [Abstract newFoo];
    [x  foo: @"bar"];
    
  2. from https://stackoverflow.com/questions/1308079/calling-python-from-objective-c by cc-by-sa and MIT license