私は始めたばかりで、これに少し夢中になっています。根本的な誤解があるかもしれませんが、よろしくお願いします。
文字列値を NSString* (および、他の多くのオブジェクト型) に直接割り当てることができるのはなぜですか? 例えば、
NSString* s = @"こんにちは、世界!";
一方、次のコードは s2 s1 のポインター値に割り当てられると思います (したがって、偶然に s2 に文字列値を提供するだけです)。
NSString* s1 = @"こんにちは、世界!";
NSString* s2 = s1;
多くのオブジェクトでは、値を代入する (つまり、setter メソッドを使用する) プロパティ (別名インスタンス変数) を指定する必要はありませんか? オブジェクト自体がポインター値の割り当てのみを受け入れるべきではありませんか? または、NSString などのクラスは、上記の最初の例のようなコードを自動的に再解釈し、暗黙のセッターを使用して、示された文字列を暗黙のインスタンス変数に割り当てますか?