2010年5月13日木曜日

+メソッドとーメソッド

Objective-Cのメソッドには「クラス」のメソッドと「インスタンス」のメソッドがあり、クラスもまたオブジェクトの一つという考えのようです。

インスタンスの生成も「クラス」のオブジェクトを使って生成する、という考えです。つまり、

NSString  *string = xxxxx ;

では、「NSString」がクラスのオブジェクト *stringがインスタンスということになります。

+で表記されるメソッド、たとえば NSBundleの+mainbundleメソッドを使用するときは、
   [NSBundle mainbundle];
という形で、オブジェクト名はインスタンス変数ではなく、クラス名そのものを書きます。

-で表記されるメソッド、たとえばNSBundleに-pathForResouceメソッドを使用するときは、
  NSBundle *bundle = [NSBundle mainbundle];
  [bundle pathForResource];
という形で、オブジェクト名として生成したインスタンス変数名を書きます。

0 件のコメント:

コメントを投稿