我刚刚开始学习 Objective-C,但我不确定何时使用点表示法与方括号。我知道这里有人问过类似的问题,但我仍然没有真正理解其中的区别。我已经读过[myObject doSomething]
并且myObject.doSomething
是等效的。但我不确定的是,当我@property
用来生成一个方法时,它会自动生成一个我只能与方括号一起使用的 setter 方法。
// MyClass.h
@interface MyClass : NSObject
@property int number;
// main.m
MyClass *object = [[MyClass alloc] init];
[object setNumber:3];
object.setNumber = 4; // Property 'setNumber' not found
为什么我在写作时会收到错误消息object.setNumber = 4
,为什么我只能使用方括号?