objective-c/swift コードの共用
DESCRIPTION
2014/10/03 のPixivでの勉強会の発表資料TRANSCRIPT
Objective-C/Swiftコードの共用
2014/10/03 Retty 株式会社
!櫻井 洋一郎
自己紹介
• 櫻井 洋一郎(@saku2saku)
• iOSアプリ開発 兼 とんかつ担当
• Objective-C, PHP, Java, 等々
• 料理, 漫画, 等々
• クラス拡張について • 動的クラス生成について • メソッドについて • まとめ
今日の内容
https://github.com/saku/PixivLTSample/
クラスの拡張について
• Obj-C -> Swift • 拡張可能
• Swift -> Obj-C • 拡張できない
Cannot subclass a class with objc_subclassing_restricted attribute
動的なクラス生成について
• Obj-Cのクラスを生成 • 素直にNSClassFromString
• Swiftのクラスを生成 • NSClassFromStringでもダメぽ • [appName]-Swift.h を見る
_TtC[appNameLength][appName][classNameLength][className]
メソッドについて
• Obj-C -> Swift • グローバルメソッドも呼べる
• Swift -> Obj-C • グローバルメソッドは呼べない • 何かのクラスのExtensionは呼べる
• SwiftのクラスはObj-Cで拡張できない • ObjcでSwiftクラスを動的に生成する場合にはキモいクラス名が必要
• グローバルメソッドは一方通行 • Obj-C -> Swift 優遇されすぎ(́・ω・`)
まとめ
https://github.com/saku/PixivLTSample/
WE’RE HIRING Engineers!!