Objective c 属性不使用点符号?

Objective c 属性不使用点符号?,objective-c,Objective C,我引用的一本书拒绝接受Objective-C2.0中属性的点表示法。这是一种普遍的心态吗 注意:这是一个与编程相关的实证问题,与语法倾向的流行有关。显然,最无用的答案都是针对个人的——“好吧,我不使用它,”——而更有趣的答案来自于更大范围的观察。如果有人对这件事有任何实际的统计数字,那就更好了。 如果你看看人们在Stack Overflow上发布的代码和Apple的示例代码,你会发现点符号非常常用。出于哲学上的原因,有些人更喜欢普通的消息发送语法,但现在一般都是用点符号来教授的,所以假设这是大多

我引用的一本书拒绝接受Objective-C2.0中属性的点表示法。这是一种普遍的心态吗

注意:这是一个与编程相关的实证问题,与语法倾向的流行有关。显然,最无用的答案都是针对个人的——“好吧,我不使用它,”——而更有趣的答案来自于更大范围的观察。如果有人对这件事有任何实际的统计数字,那就更好了。

如果你看看人们在Stack Overflow上发布的代码和Apple的示例代码,你会发现点符号非常常用。出于哲学上的原因,有些人更喜欢普通的消息发送语法,但现在一般都是用点符号来教授的,所以假设这是大多数人使用的语法也不是不合理的


“反点”情绪最流行和最突出的例子是。Big Nerd Ranch的家伙是非常受人尊敬的Cocoa程序员,因此人们倾向于认真对待他们的意见。

我不使用它,因为它只有在我定义对象的类型时才起作用。通常,我的对象的类型是
id
,这不允许我使用点语法。所以,因为我不想费心去检查我声明的对象是什么类型的,所以我不使用它。

不,这不是一种常见的思维方式。如果你看看人们在这里发布的示例代码,你会发现大多数人都在使用它


我个人的观点是,发明它是一个错误。它使初学者误以为属性访问在某种程度上不同于正常的消息传递。话虽如此,在某些情况下,它可以使代码更清晰易读。

感谢您的观点,Chuck。不管它在技术上有什么优点,受欢迎程度也很重要。但它“只是”一个警告,对吗?如果你想的话,没有办法抑制这个警告?我只是不明白为什么它会不同于普通的消息传递。这不是我的问题的一部分,但是初学者到底会错误地理解什么呢?点表示法看起来像普通的C结构成员访问。初学者通常会困惑地认为它与C结构成员访问相同。