自从我开始进行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];
答案 0 :(得分:8)
这并不重要,它们是一回事。点语法是一种便于您使用的方法,我觉得它可以使您的代码更清晰。
我发现使用点语法抛出警告或编译错误的一种情况是,如果你有一个id对象,即使你知道它有该属性。
id someReturnedObject = [somethingObject someMysteryObjectAtIndex:5];
int aValue = 0;
aValue = someReturnedObject.value; // warning
aValue = [someReturnedObject value]; // will just do it
答案 1 :(得分:2)
使用静态检查对象的类型。语法,但没有[]语法。这意味着你无法使用。如果没有指定对象的类型,并且在它被使用时是有益的,那么编译器会帮助你更多。
答案 2 :(得分:0)
Objective-C中的Dot语法本质上是使用访问器方法的简写。该消息仍然通过访问器方法发送。希望能回答你的问题