タグ

ブックマーク / qiita.com/inamiy (4)

  • Swiftでデバッグマクロっぽいライブラリを作った - Qiita

    Objective-Cを使ったiOSアプリ開発では、C言語のプリプロセッサ命令を使って、NSLogを#ifdef DEBUGで囲むデバッグマクロのテクニックがよく利用されていました。 #ifdef DEBUG #define LOG(...) NSLog(__VA_ARGS__) #define LOG_METHOD NSLog(@"%s line %d", __func__, __LINE__) #define LOG_OBJECT(obj) NSLog(@"%s=%@", #obj, obj); #else #define LOG(...) #define LOG_METHOD #define LOG_OBJECT(obj) #endif

    Swiftでデバッグマクロっぽいライブラリを作った - Qiita
    efcl
    efcl 2014/09/14
    ランタイムマクロ
  • SwiftTask(Promise拡張)を使う - Qiita

    使用例 SwiftTaskでタスクを定義する際(初期化クロージャ内)、直接Grand Central Dispatch等を使って非同期処理を行うことも可能です。 が、Alamofire(ネットワークライブラリ)に代表されるような、 obj.setProgressHandler() (callback) obj.setCompletionHandler() (callback) obj.pause() obj.resume() obj.cancel() のAPIの形に「別クラスで一旦ラップする」方が、より簡単に実装することができます。 Alamofireを使った例 typealias Progress = (bytesWritten: Int64, totalBytesWritten: Int64, totalBytesExpectedToWrite: Int64) // define ta

    SwiftTask(Promise拡張)を使う - Qiita
    efcl
    efcl 2014/08/31
    NSOperation/Promise/Bolts/SwiftTaskの処理比較
  • Swiftで有限オートマトン(ステートマシン)を作る - Qiita

    Swiftのcustom operatorを使って何かネタを書きたいなぁ・・と思っていたら、ふとステートマシン(A => Bに遷移、みたいな)が浮かんだので、試しにライブラリを作ってみました。 https://github.com/inamiy/SwiftState 状態をenumで定義して、いろいろこねくり回せます。 コード例 enum MyState: StateType { case State0, State1, State2 case AnyState // create case=Any static func convertFromNilLiteral() -> MyState { return AnyState } } let machine = StateMachine<MyState, MyEvent>(state: .State0) { machine in mach

    Swiftで有限オートマトン(ステートマシン)を作る - Qiita
    efcl
    efcl 2014/08/11
    Swiftでcustom operatorを使った遷移
  • Core Animation 中級編 - Qiita

    8/19担当、Qiita初投稿の@inamiyです、こんにちは。 今回は、iOS/OSXアプリのUXの根幹である「Core Animation」について、 ハマりやすい点や、意外と知られていないtipsなどについて書きたいと思います。 アニメーション完了時のコールバック Delegateでif分岐しながら処理する方法もありますが、 [CATransaction setCompletionBlock:]を使う方が、より見通しの良いコードになります。 問題は、アニメーションが正常終了したかどうかのfinishedフラグがないという点ですが、 下記のようなコードを書くと、上手く判別できます。 [CATransaction begin]; [CATransaction setCompletionBlock:^{ CAAnimation* animation = [layer animationFo

    Core Animation 中級編 - Qiita
    efcl
    efcl 2012/08/21
    Core Animationについての詳しい解説。 CAAnimation、一時停止、fillModeについて、暗黙的なアニメーション、カスタムプロパティのアニメーション、アニメーションライブラリの紹介
  • 1