如果我使用@synthesize foo;
,则以下内容之间存在以下差异:
// message syntax
[myObj setFoo:5];
[myObj foo];
和
// dot syntax
myObj.foo = 5;
myObj.foo;
我喜欢点语法的一致性,但我不知道它是否正在做我应该关注的事情。
任何其他信息都会有很大的帮助。
答案 0 :(得分:12)
使用点语法和使用消息语法之间没有功能差异。
我发现使用消息语法与整个语言更加一致,而点语法只是为了方便那些使用它的语言的程序员(Java浮现在脑海中)。
我要问的是:无论你选择哪一个,都要与之保持一致。 不要混合搭配单个属性设置器! (多参数设置器显然是免除的)。
答案 1 :(得分:3)
他们是一样的。
点语法用于表示@property
的访问权限,您也可以通过以下方式访问:
[myObject setValue: [NSNumber numberWithIntValue:5] forKey:@"foo"];
[myObject valueForKey:@"foo"];
但实质上呼叫是一样的。