self はオブジェクトそのものです。オブジェクトを割り当てるとき。クラスが使用するすべての変数を保持するのに十分なメモリを確保します。
ただし、オブジェクトを初期化すると、そのメモリが自己にアタッチされます。self は基本的に「変数」であり (私はこの用語を大まかに使用しています)、自分がいるオブジェクトのすべての機能にアクセスできるようにします。
次のメソッドを持つオブジェクトがある場合
+(BOOL) isThisWorking{ return YES;}
クラスでメソッドを呼び出す必要があります。自己は関与しません。
ただし、メソッドがある場合
-(BOOL) isThisWorking{ return YES; }
次に、クラスのインスタンスにメソッドをアタッチします。
最初のものを呼び出すには、クラス オブジェクト自体で呼び出す必要があります。
[MyObject isThisWorking];
2 番目のものを呼び出すには、インスタンスで呼び出す必要があります。
MyObject *testObject = [[MyObject alloc] init];
[testObject isThisWorking];
テストオブジェクト内のメソッドにいる場合、メソッドを呼び出すための「testObject」がありません。
その隙間を自分が埋めます。
別のプログラミング言語を使用している場合は、同じことを行う他の構造に慣れているでしょう。
たとえば、.net では、オブジェクトは「this」です。
古い学校のVBでは、正しく覚えていればオブジェクトは「Me」です