Koichi Adachi

smart phone app development tips

Xcode

自作ライブラリをシームレスにObjCからSwiftへ移行する話(iOS Advent Calendar 2016/12/15)

これまでObjCで書いていたライブラリを'少しずつ'Swiftに移行する話です。 # このトピックで実現すること - 既存ライブラリ(ObjC)のプロジェクトはそのまま残す。 - Swiftで書きたい(移行したい)ロジックから新規ライブラリプロジェクトに記述(移動)する…

Swiftで三項演算子

: Stringは省略可能 まだ目が慣れない〜 import Foundation class ExamTernaryConditionalOperator{ class func execute() -> (){ self.innnerMethod(__FILE__) } class func innnerMethod(string :String?){ let str:String = string! var ret = str.hasPre…

Block構文で記述した処理をインスタンスメソッドとして動的追加し、selectorで受けられるようにする

特定のクラスのインスタンスしか受けられないメソッドを、 新しくクラス定義せずに受けられるようにする方法。 さらにイマイチなことに、呼び出したいメソッドがコールバックにSEL型しか指定できなかったりする。 新しくクラス定義(.hと.m)を追加するのも微…

private propertyにカテゴリからアクセスする

.hに書いてしまうと容易に外からアクセスできてしまうため、 .mにプライベートな変数を置くことがままあります。 ただ、それだとカテゴリで機能を拡張した場合にアクセスできないので、 どうしたもんかなーと思っていました。 ちょっと考えたらできました。