5章Objective-Cのインスタンス

インスタンスはObjective-C(Obj-C)のプログラムにおいてとても重要な役割を果たします。自作のクラスのメソッドのほとんどは、(クラスメソッドではなく)インスタンスメソッドになるのが普通ですし、自分のコードから呼び出すメソッドのほとんどもインスタンスメソッドになるでしょう。この章ではインスタンスがどのように生成され、どのように動作するかを詳しく見ていきましょう。

[注記]

この章を読んだ後で、1章から4章までのインスタンス関連の記述を読み直すとさらに理解が深まるでしょう。

5.1 インスタンスの生成

前の章で見たように、クラスオブジェクトはアプリ起動時に自動的に生成されます。これに対してクラスのインスタンスは自動的には生成されず、明示的に生成する必要があります。インスタンスはクラスにメッセージを送ることで生成しますが、生成の方式は次の3種類に分けることができます。

  • レディーメードのインスタンス
  • ゼロから生成されるインスタンス
  • nibを用いて生成されるインスタンス

5.1.1 レディーメードのインスタンス

インスタンスを生成するひとつの方法は、自分で明示的にインスタンスを生成するのではなく、インスタンスを生成するコードを呼び出すことによって(間接的に)生成するものです。この方法で生成されたものをレディーメードのインスタンスと呼ぶことにしましょう(この用語は一般に認められているものではなく筆者の造語です)。たとえば次のコードを見てください。 ...

Get 入門 iOS SDK ―初めてのiPhone/iPadプログラミング now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.