1日30分英語
今までここは読書ブログだったのだけれど、リニューアルして英語ブログにします。
とりあえず、
今日覚えた事
- only when
- if の後は現在形
- I'm worried about
- In order to avoid my misunderstanding,
- I should have confirmed that with you sooner.
今日の英単語
- cyclist
- attractive
- deflated
- work-out
- sideburns
- lean
- endurance
- retailer
- persuade
- desperately
今日の熟語
- let alone
かなり放置してしまった
なんか、途中でブログに書く為に読む、みたいなモードになってしまって良くないと思って放置してました。
読んでた本
・Head First C
・たのしいRuby
・改訂新版 基礎 Ruby on Rails
Railsを覚えたら次はCoffeeScriptを勉強しようと思います。
P62-78 メソッド
メソッドとは何か
- 3要素:メソッド、セレクタ、メソッドの実装
- Method型
struct objc_method { SEL method_name; char *method_types; IMP method_imp }
typedef id (*IMP)(id, SEL, ...);
- あるクラスに対するすべてのメソッドリストの取得
- struct objc_method_list* class_nextMethodList(Class classObject, void** iterator);
- 引数の型のエンコーディング
- セレクタ配列
- ビルトインセレクタ
- objc-sel-table.hでCocoaで使われるセレクタが宣言されている
- IMPの取得
NSString* object; SEL selector; object = @"Objective-C"; selector = @selector(length); Method method; IMP imp; method = class_getInstanceMethod([object class], selector); imp = method->method_imp;
- メソッド実装の食説呼び出し
- 動的特性がなくなるが高速化できる
メソッドについて。凄く丁寧に解説されていて面白い。
しかし、この辺あまり使わなくてすぐに忘れそうなのが怖い。
- 作者: 木下誠
- 出版社/メーカー: ビー・エヌ・エヌ新社
- 発売日: 2009/03/27
- メディア: 単行本(ソフトカバー)
- 購入: 9人 クリック: 119回
- この商品を含むブログ (31件) を見る
P1-61 Objective-Cのエンジン部 ランタイムに踏み込む
"Pro Objective-C Design Patterns for iOS" がしんどいので "Dynamic Objective-C" を読み始めることにしました。前者はライフワーク的に思い出したら読む感じにします。
- CocoaとObjective-Cと動的なオブジェクト指向
- class-dumpでframeworkのクラスとメソッドが見れる
- Objective-Cの動的型付け
- Cocoa実現の肝 クラスとそのメソッドの調査方法をチェック
- NSClassFromString
- ターゲットーアクションパラダイム - 動的特性を利用したデザインパターン
- メソッドの有無もターゲットの特性
- ターゲットーアクションパラダイム - その利点を徹底検証
- Cocoa-Javaの挑戦とは?
- Objective-Cと様々な言語のブリッジ - PyObjC, RubyCocoa
- カテゴリ
- プロトコルが必要とされた背景
- プロセス間通信ではプロトコルにて通信のエンコードを知っておいた方がパフォーマンスがよい
- 非形式プロトコル
- NSObjectのカテゴリとして宣言する
- 2つのプロトコルの使い分け
- 本書では形式プロトコルはすべてメソッドを実装するのを求められるから、デリゲートでは非形式の方を使う、と書いてあったが、Objective-C2.0からは@Optionalが使える
- ポージングで乗っ取り
- 使ったことがない。危なそう。便利なことができそうな気はする
- Objective-Cのエンジン部 ランタイムに踏み込む
- クラスとは何か
- Class型は構造体objc_classのポインタ
- すべてのクラス名を取得する int objc_getClassList(Class* buffer, int bufferLen);
- メタクラス
- id型とは構造体objc_objectのポインタ
めちゃくちゃ面白いですね。クラスもオブジェクトも構造体だったとか。
そして本文の文体がいいですね。元がWeb連載だったからか語りかける文章で、ワクワクさせてくれます。
- 作者: 木下誠
- 出版社/メーカー: ビー・エヌ・エヌ新社
- 発売日: 2009/03/27
- メディア: 単行本(ソフトカバー)
- 購入: 9人 クリック: 119回
- この商品を含むブログ (31件) を見る
P116-233 Adapter Bridge Facade Mediator Observer Composite Iterator Visitor
- Adapter
- Brockを使ったAdapter
- Bridge
- Facade
- 複雑な処理をまとめて、その処理の入口を提供する
- Mediator
- 複数のクラスの相互作用を集中させて処理を簡潔にする
- UINavigationControllerもこのパターンとして機能している
- Observer
- Mediatorと似ているが、一対多で相互作用させる
- Notificationの例
- 前に使った事があるのでよく分かった。NotificationCenterで通知処理ができる
- Key-Value Observingの例
- よく分からず飛ばしてしまった。簡単らしい、とは書いてあった
- Composite
- ちょっと飛ばした。UIView, cocos2dのCCNode的な
- Iterator
- 飛ばし気味
- Visitor
- これも飛ばし気味
- Compositeパターンとミックスしてる例
後半飛ばし気味で読んだ。
すげー時間かかっていて焦っている。洋書を読んだ事がないので入門としては凄くいいとは思っているけど。
そして、ダイナミックObjective-Cも買って読もうと思う。
Pro Objective-C Design Patterns for iOS
- 作者: Carlo Chung
- 出版社/メーカー: Apress
- 発売日: 2011/03/30
- メディア: ペーパーバック
- クリック: 22回
- この商品を含むブログ (1件) を見る
P112-116 Adapter
Commandパターンとのカラみ。よくわからない。
いや〜進まないw
しかしとりあえず全部読もう。
Pro Objective-C Design Patterns for iOS
- 作者: Carlo Chung
- 出版社/メーカー: Apress
- 発売日: 2011/03/30
- メディア: ペーパーバック
- クリック: 22回
- この商品を含むブログ (1件) を見る
P96-112 Singleton Adapter
- Singleton
- UIApplicationなど、インスタンスが唯一であると言う事を保証したクラス。
- スレッドセーフにするには@synchronized() brocks or NSLockを使えとあったがそこはソースを具体的に書いていなかった。簡単なのかもしれないけど。
- Adapter
- Class AdapterとObject Adapterがある。
Pro Objective-C Design Patterns for iOS
- 作者: Carlo Chung
- 出版社/メーカー: Apress
- 発売日: 2011/03/30
- メディア: ペーパーバック
- クリック: 22回
- この商品を含むブログ (1件) を見る