タグ

ブックマーク / www.tokoro.me (3)

  • Objective-Cで"@dynamic"の使いどころを考える | TOKOROM BLOG

    Objective-Cの @dynamic はお好きですか? ぼくはけっこう好きです。 @synthesizeのほうは昔はほぼ必須で書かないといけなかったり Xcode4.4で省略できるようになった ことで有名ですが、いっぽうで@dynamicのほうはあまり日の目を浴びていない気がします。 そこで、今日は@dynamicについて再考してみることにしました。 以下、ぼくが思い返してみて@dynamicがこんなときに便利だったと感じたところを2点挙げさせていただきます。 みなさまのほうでも「こんなとき便利だよ」というのがありましたら是非ご教示ください。 クラスの内部実装が適当なのを隠すときに そもそもこの実装自体がどうかという話もあるのですが、リファクタリング前にひとまず雑な実装をしてしまうことはままあります。 例えば、ゲームスコアを管理するGameScoreクラスを作ったとして、その中で ハ

    Objective-Cで"@dynamic"の使いどころを考える | TOKOROM BLOG
  • Objective-Cで非同期処理のテストをシンプルに書く方法 | TOKOROM BLOG

    非同期処理のテストってどう書いてますか? 標準のXCTest自体がサポートしていれば良いのですがそうではないので、非同期処理のテストを書きたい場合には、その仕組みを自作するか出来合いのライブラリを利用する必要があります。現実的な選択肢としては、 GHUnitやKiwiなど非同期処理をサポートしたテストフレームワークを利用する GHunitの非同期処理のテストの仕組みを真似て抜粋したライブラリを利用する(意外とこれが多いかも?) expectaなどのマッチャーライブラリに付属の非同期処理の仕組みを使う となるかと思います。 ただ、私が調べた時点だとどれもしっくりきませんでした。 まず、GHUnitやKiwiなどを採択している場合には良いのですが、非同期処理のテストを書くという目的だけのためにそれらのフレームワークを使うというのは冗長すぎます。 また、GHUnitの非同期処理の仕組みだけを抜き

  • Objective-Cのコードを削れるだけ削る7のTips | TOKOROM BLOG

    既存記事のまとめのため新しい要素があるわけではないのですが、Appleから発表されたXcode 5が正式にリリースされる前の復習ということで。 Tipsを適用する前のコード #pragma mark - Private Category @interface Sample () @property (strong) NSNumber* i; @property (strong) NSNumber* c; @property (strong) NSNumber* f; @property (strong) NSArray* array; @property (strong) NSDictionary* dictionary; @property (strong) Sample* child; @property (strong) UIColor* color; @property (assi

  • 1