2017-07-29 2 views
0

La question suivante décrit une situation dans laquelle un appel de fonction python à une fonction Objective-C qui nécessite une variable passée par référence:Passant NSError objet par référence Avec PyObjC

Can't call methods on objects in pyObjC

Cependant, la question a été publiée en 2012 et la réponse acceptée ne semble plus fonctionner. Comment pouvons-nous passer l'objet NSError à la fonction et obtenir une valeur retournée?

Mon appel de fonction fait partie d'un Framework que je ne peux pas éditer, j'ai donc été chargé de trouver un moyen de le faire fonctionner.

+0

Est-ce que cela aide? https://stackoverflow.com/questions/4353403/pyobjc-and-returning-out-parameters-i-e-nserror il semble encore plus vieux, alors peut-être pas .. – Dale

Répondre

0

Il semble que j'ai tenté d'accéder incorrectement à mon environnement personnalisé. A l'origine, j'accédé le cadre en chargeant un CustomFrameworkBundle:

CustomFrameworkBundle = objc.loadBundle("Custom", globals(), bundle_path=objc.pathForFramework(u'Custom.framework')) 

Alors que les fonctions dans le cadre personnalisé étaient accessibles, les fonctions que les paramètres nécessaires à transmettre par référence ne seraient pas traitées correctement et que le tuple de rendement attendu serait exprimé en la fonction d'origine retourne. Dans le second exemple, le pont fonctionne comme prévu et les paramètres mis à jour transmis par référence étaient accessibles.