2012-10-03 64 views
0

我從「新望」書學習這一點,但我想知道目前的標準是什麼,以設置屬性值之外使用的東西點運算符的。目標C點操作時下

在方法調用和whatnot。很顯然myClass.myMethod:value在語法上是正確的,但現在它是一個公認的規範嗎?

點運算比在我看來[myClass myMethod:myValue]更加「人性化」的感覺。

+1

我喜歡括號語法!一定不能是人類:[ –

回答

5

你試過編譯過嗎?據我所知,你的myClass.myMethod:值的例子是無效的。

編譯器將點運算符轉換爲-(void)setMyValue:(ValueType*)-(ValueType*)myValue,具體取決於您是獲取還是設置它。

閱讀蘋果文檔的詳細信息: http://developer.apple.com/library/ios/documentation/cocoa/conceptual/objectivec/Chapters/ocObjectsClasses.html#//apple_ref/doc/uid/TP30001163-CH11-SW17

+0

我是一個noob noob noob。 – STONEYFTW

+0

即使在它的語法允許有一個沒有參數且只有返回值的方法的情況下,人們會濫用它作爲語法糖(避免使用大括號),並且Clang *會警告你 - 使用訪問器方法來改變值是不好。點語法僅用於屬性訪問。 –