自从我在iPhone上发展开始我已经有点困惑,这是访问数据作为一类的成员的最好方式。

让我们说我有一个名为MyClass的类,并在其中我有:

@interface MyClass : NSObject {
    int myInt;
}

@property (nonatomic, assign) int myInt;

在实施,是它更好地做到这一点:

myObject.myInt = 1;

或者这

[myObject setMyInt:1];

这也适用于读取值太

int newInt = myObject.myInt;

VS

int newInt = [myObject myInt];
有帮助吗?

解决方案

这其实并不重要,他们是同样的事情。点语法是一个方便这是有供您使用,我觉得它使你的代码更干净。

在一个情况下我发现使用点语法抛出警告或错误的编译器,如果你有有一个ID对象,即使你知道它有这个属性。

id someReturnedObject = [somethingObject someMysteryObjectAtIndex:5];
int aValue = 0;
aValue = someReturnedObject.value; // warning
aValue = [someReturnedObject value]; // will just do it

其他提示

的对象的类型的静态与检查。语法,但不与[]的语法。这意味着你不能使用。如果没有指定对象的类型,并且它有利于使用它时,它是,所以编译器会帮助你。

在Objective-C点语法本质上是使用存取方法的简写。该消息通过访问方法仍然被发送。希望回答您的问题

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top