我才刚刚开始,我对此有点挂断。我可能有一个基本的误解,你可以帮助我。
为什么您可以直接将字符串值分配给 NSString* (而且,我敢肯定,还有许多其他对象类型)?例如,
NSString* s = @"你好,世界!";
而我相信下面的代码会分配给 s2 s1 的指针值(因此只是顺便为 s2 提供了一个字符串值)?
NSString* s1 = @"你好,世界!";
NSString* s2 = s1;
对于许多对象,您是否不必指定要为其分配值的属性(即实例变量)(即,使用 setter 方法)?对象本身不应该只接受指针值的赋值吗?或者诸如 NSString 之类的类是否会自动重新解释代码(例如上面的第一个示例),以使用隐含的 setter 将指示的字符串分配给隐含的实例变量?