日々精進

新しく学んだことを書き留めていきます

swiftで定義したクラスに自動的にPrefixが付くのを防ぐ

実行環境:XCode6-Beta4
swiftで定義したクラスには実行時に以下のルールでPrefixが付く。

_TtC<targetNameのutf16count><targetName><クラス名の文字数><クラス名>

なので、THClassはNSStringFromClassでクラス名を文字列にすると_TtC5TName6THClassになる。
これだと、クラス名を取得してごにょごにょするコードがあると困る。
swiftのクラス定義に@objc(className)を付けるとPrefixが付かない。


下記ではCFBundleNameがPrefixにつくと書いてあるが、やってみたらtargetNameだった。XCode6-Beta4になってから変わったのかな?
参考:ios - Swift language NSClassFromString - Stack Overflow