[2017-02-12 update] swift3からunsafeBitCastではなくUnmanagedを使う方法が推奨となっていますのでそちらをお使いください。 unsafeBitCastを使ってswiftのクラスをポインタとして扱い、コールバック後のクラスに戻して動作するかやってみた。 結論から言うと動いた。これでAppleのフレームワークのせいでObj-Cを書かなくてはいけないケースは無くなった。 swiftからコールバック関数を利用するC言語のSDKを使う場合、これは基本的なテクニックになりそうだ。 XXX-Bridging-Header.h #include "cfile.h" cfile.h typedef void (*CALLBACK)(void*, int); void registerCallback(CALLBACK callback, void* ref); v