2010-05-01から1ヶ月間の記事一覧

現在のリファレンスカウントの参照数を表示する

NSLog(@"%d", [object retainCount]);

非同期にデータを受信したあとコールバック関数で処理する

NetConnection.h #import <Foundation/Foundation.h> @interface NetConnection : NSObject { NSURLConnection *connection; NSMutableData *data; id object; SEL selector; } - (void)initWithURL:(NSString *)url object:(id)object_ selector:(SEL)selector_; @end NetConnection.</foundation/foundation.h>…

ファイル名と行と関数名をいっしょにログ出力する。

#define LogPrintf(fmt, ...) NSLog(@"%s: %d: %s" fmt, __FILE__, __LINE__, __FUNCTION__, __VA_ARGS__) 最近はこうしてる。

動的にメソッドを書き換える

#import <objc/runtime.h> id length(id self, SEL _cmd, ...) { return 0; } int main(int argc, char *argv[]) { NSString *str = @"abcdefg"; NSLog(@"%d", [str length]);// => 7 Method method = class_getInstanceMethod([str class], @selector(length)); method->met</objc/runtime.h>…

コアの部分のデータ構造

Class struct objc_class { struct objc_class *isa; struct objc_class *super_class; const char *name; long version; long info; long instance_size; struct objc_ivar_list *ivars; struct objc_method_list **methodLists; struct objc_cache *cache;…

YouTubeの動画を組み込む

メソッド - (void)embedYouTube:(NSString*)url frame:(CGRect)frame { NSString* embedHTML = @"\ <html><head>\ <style type=\"text/css\">\ body {\ background-color: transparent;\ color: white;\ }\ </style>\ </head><body style=\"margin:0\">\ </body></html>

Foundation Classの定義を調べる

class-dumpをパスが通ってる場所に置く。 class-dump /System/Library/Frameworks/Foundation.framework/Foundation > ~/out.h