小さなコード
大きな仕事
@TeamMOSA2
http://www.teammosa2.com/
13年9月21日土曜日
めずらしく
サンプルを作った
https://github.com/TamaDev/
ISSHO_AutoHook_Sample
13年9月21日土曜日
何をするコード?
UIControlの派生クラス
(UIButtonとか)の
タッチイベントに”自動”で
前処理を差し込む。
13年9月21日土曜日
どうやってるの?
Method swizzleという技で
元々の機能を”動的”に
差し替えることができる。
13年9月21日土曜日
実用例
AutoNibL10n
https://github.com/AliSoftware/
OHAutoNIBi18n
xib上のラベルを自動ローカライズ
13年9月21日土曜日
重要なヘッダ
#import <objc/runtime.h>
13年9月21日土曜日
Swizzle実例
void Swizzle(Class c, SEL orig, SEL new) {
Method origMethod = class_getInstanceMethod(c, orig);
Method newMetho...
何が嬉しいの?
どのモジュールの
どのIBActionメソッドかを
フック先で判別できる。
13年9月21日土曜日
例えばこんなの
13年9月21日土曜日
(ほぼ)すべてのボタン類
どこから呼ばれたかを
各メソッドにイチイチ
記述してはいけない。
13年9月21日土曜日
後は自分で読め
ISSHOAutoHook.mは
か100行に満たない
13年9月21日土曜日
説教blog
いじわるファンクションコール
http://blog.teammosa2.com
13年9月21日土曜日
Upcoming SlideShare
Loading in...5
×

DevSap20130921

246

Published on

Google Analyticsを総てのUIControlのタッチイベント呼び出しに挟み込むサンプルの説明です。

Published in: Self Improvement
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
246
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

DevSap20130921

  1. 1. 小さなコード 大きな仕事 @TeamMOSA2 http://www.teammosa2.com/ 13年9月21日土曜日
  2. 2. めずらしく サンプルを作った https://github.com/TamaDev/ ISSHO_AutoHook_Sample 13年9月21日土曜日
  3. 3. 何をするコード? UIControlの派生クラス (UIButtonとか)の タッチイベントに”自動”で 前処理を差し込む。 13年9月21日土曜日
  4. 4. どうやってるの? Method swizzleという技で 元々の機能を”動的”に 差し替えることができる。 13年9月21日土曜日
  5. 5. 実用例 AutoNibL10n https://github.com/AliSoftware/ OHAutoNIBi18n xib上のラベルを自動ローカライズ 13年9月21日土曜日
  6. 6. 重要なヘッダ #import <objc/runtime.h> 13年9月21日土曜日
  7. 7. Swizzle実例 void Swizzle(Class c, SEL orig, SEL new) { Method origMethod = class_getInstanceMethod(c, orig); Method newMethod = class_getInstanceMethod(c, new); if( class_addMethod(c, orig, method_getImplementation(newMethod), method_getTypeEncoding(newMethod)) ){ class_replaceMethod(c, new, method_getImplementation(origMethod), method_getTypeEncoding(origMethod)); }else{ method_exchangeImplementations(origMethod, newMethod); } 13年9月21日土曜日
  8. 8. 何が嬉しいの? どのモジュールの どのIBActionメソッドかを フック先で判別できる。 13年9月21日土曜日
  9. 9. 例えばこんなの 13年9月21日土曜日
  10. 10. (ほぼ)すべてのボタン類 どこから呼ばれたかを 各メソッドにイチイチ 記述してはいけない。 13年9月21日土曜日
  11. 11. 後は自分で読め ISSHOAutoHook.mは か100行に満たない 13年9月21日土曜日
  12. 12. 説教blog いじわるファンクションコール http://blog.teammosa2.com 13年9月21日土曜日
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×