タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

objective-cに関するpakilnのブックマーク (1)

  • ダイナミックObjective-C (22) メソッドとは何か(5) - メソッドの実装 | エンタープライズ | マイナビニュース

    メソッドを構成する要素の最後になる、メソッドの実装を取り上げよう。IMP (implementation) 型になる。これを利用すると、劇的な高速化も可能だ。 IMP型の定義 メソッドの実装を表すIMP型について、前にも紹介したが、もう一度説明しよう。メソッドを表す構造体は、Method構造体。この中にmethod_impという名前の、IMP型のフィールドがある。このIMP型の定義は、objc.hにある。 objc.h typedef id (*IMP)(id, SEL, ...); つまり、C言語の関数である。Objective-Cでは、メソッドの実際の処理を行っている実装はどこにあるのかと、追いかけていけば、このC関数にたどり着く。 この関数には、2つの引数があらかじめ定義されてある。これが、前々回に紹介した、メソッドに渡される暗黙の変数だ。すべてのメソッドで、この変数を利用できる。

  • 1