タグ

Associated Objectに関するtasanobuのブックマーク (1)

  • Snow Leopardで利用可能になったAssociated Object

    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()で、オブジェクトに他の

  • 1