読者です 読者をやめる 読者になる 読者になる

Pebble's Diary

プログラマーの作業メモ

ObjCからswiftソース上で呼び出せるのはクラスまたはプロトコルのみ

勘違いしていたが、ObjC側からswiftソース上で呼び出せるのは、クラス(のメソッド)、プロトコル、整数型のenumのみだった。 swift上で書いたグローバル関数やグローバル変数は呼び出せないのだった。逆は可能。

つまり、ObjCのクラスはswiftへ移行できるが整数型でないNS_ENUM、NS_OPTION、Cの構造体、Cのグローバル関数などは、 ObjCから利用する者がいる限り、移行できないということになる。

NS_OPTIONはswiftではCの構造体なので、移行できない。