このURLのページは表示することが出来ませんでした。 IQサーバー
このURLのページは表示することが出来ませんでした。 IQサーバー
Leopardで大幅に手を加えられたObjective-Cのランタイムですが、Snow Leopardでもちょこっとだけランタイムに手が加えられました。それがAssociated Objectです。こいつはあるオブジェクトに対してキー付きで任意のオブジェクトをひも付けすることができるもので、ランタイム関数を使うことで簡単に扱えます。コードはこんな感じ。 id obj = ...; // 任意のオブジェクト NSString *key = @"key"; // キー objc_setAssociatedObject(obj, key, @"value", OBJC_ASSOCIATION_RETAIN); objc_getAssociatedObject(obj, key); // → @"value" が取り出せる objc_setAssociatedObject()で、オブジェクトに他の
Tweet iOS 3.1からobjc_set|getAssociatedObjectが使えるになりました。 これにより、カテゴリでできなかったインスタンス変数の追加もできるようになります。 百聞は一見にしかず。 例として、UIColorにtagというプロパティを追加して値を保存するようにしてみましょう。 #include <objc/runtime.h> @interface UIColor( aso ) @property (nonatomic,readwrite) int tag; @end @implementation UIColor ( aso ) - (void) setTag:(int)value { objc_setAssociatedObject( self, @"tag" , [NSNumber numberWithInt:value],OBJC_ASSOCIATIO
このURLのページは表示することが出来ませんでした。 IQサーバー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く