blog

iOS クラスの性質を簡単に理解する

クラスはオブジェクトです クラスオブジェクトと呼ばれるオブジェクトのクラス型、任意の型、Objective-Cクラスを表し、クラス名はクラスオブジェクトを表し、各クラスは1つだけのクラスオブジェクトを...

Jul 14, 2025 · 2 min. read
シェア

1.クラスもオブジェクト

  • クラスとは、クラス・オブジェクトと呼ばれるClass型のオブジェクトのことです。
  • Class型の定義
  • // Objective-Cのクラスを表す任意の型。 
    typedef struct objc_class *Class; 
    
  • クラス名はクラス・オブジェクトを表し、各クラスに1つだけクラス・オブジェクトがあります。
  • クラス・オブジェクトの取得
// 获取类对象两种方式person1 和 person2 
    Class person1 = [Person class]; 
     
    Person *p = [Person new]; 
    Class person2 = [p class]; 
     
     
    // クラス・オブジェクトはクラス・メソッドを呼び出す 
    Person *person3 = [person1 new]; 

2.クラスのロードと初期化メソッド

+ (void)load;     // 在类加载的时候调用一次 
+ (void)initialize;  // クラスが使われるときに一度だけ呼び出される 

+ロード方式:

  • アプリケーションの起動時にすべてのクラスとカテゴリがロードされ、すべてのクラスとカテゴリに対して +load メソッドが自動的に呼び出されます。
  • つまり、親クラスの+loadメソッドを呼び出し、次に子クラスの+loadメソッドを呼び出します。
  • カテゴリをロードする前に元のクラスをロード
  • 実行中のアプリケーションでそのクラスが使用されているかどうかにかかわらず、 +loadが呼び出され、そのクラスがロードされます。

+initialize メソッド:

  • initializeメソッドは、オブジェクトの生成など、クラスが使用されるときに一度だけ呼び出されます。
  • クラスが +initialize メソッドを呼び出すのは一度だけで、最初に親クラスを呼び出し、次に子クラスの initialize メソッドを呼び出します。
Read next

公共のiPhone充電器は大きな危険

公衆Wi-Fiに接続することの危険性は何度も言われてきました。しかし、携帯電話を公共のUSB充電器に接続することが、同様のマルウェアに感染する可能性があるとは誰が想像したでしょうか!

Jul 14, 2025 · 3 min read