Hat Swift nicht mit Funktionszeigern?

Ich versuche, verwenden Sie eine C-Bibliothek, die in Swift, und ich habe Probleme beim aufrufen einer Funktion, die einen Funktionszeiger als eines seiner Argumente. Zum Beispiel, Teil des lua.h-Datei, die ich versuche, in der Swift sieht wie folgt aus:

LUA_API void  (lua_setuservalue) (lua_State *L, int idx);


typedef int (*lua_CFunction) (lua_State *L);

LUA_API void  (lua_callk) (lua_State *L, int nargs, int nresults, int ctx,
                       lua_CFunction k);

Ich den bridging-header, um Zugang zu der Bibliothek, und von meiner Swift-code, die ich anrufen kann lua_setuservalue ohne Probleme. Aber wenn ich versuche zu nennen, lua_callk bekomme ich "use of unresolved identifier 'lua_callk'". Wenn ich entfernen Sie den Funktionszeiger aus der Erklärung für lua_callk, ich nicht mehr diesen Fehler bekommen. Jede Hilfe wird sehr geschätzt.

InformationsquelleAutor Mike | 2014-06-06
Schreibe einen Kommentar