Q
點語法
2
A
回答
4
一般情況下,它是好的使用方法:
a.b.c
但是,如果涉及那麼它可能無法正常工作結構。考慮下面的類聲明:
@interface Circle : NSObject
@property (assign) NSPoint centre;
@end
在這種情況下,centre
屬性是NSPoint
類型,即聲明瞭兩個成員,x
和y
的結構(不是類!)。讀x
協調工作:
CGFloat x = circle.centre.x;
,等同於:
CGFloat x = [circle center].x;
但寫x
座標不會:
circle.centre.x = 50;
因爲賦值的左側部分,稱爲左值,不可轉讓。該任務嘗試更改返回值的成員變量,即由[circle centre]
返回的結構。
你必須,而不是寫:
NSPoint centre = circle.centre;
centre.x = 50;
circle.centre = centre;
2
是的,沒關係,它有多少關卡並不重要。他們都被翻譯成這個。
[[[[Object parent] property] anotherProperty] yetAnotherProperty]
即相當於此:
Object.parent.property.anotherProperty.yetAnotherProperty;
3
是的,這是完全正常和普遍使用的語法類似。
相關問題
- 1. 點語法與參數傳遞語法
- 2. 斷點2.7.0語法
- 3. 在SyntaxTree中給定語法結點的語法節點
- 4. FreeMarker語法節點Java API
- 5. Karaf特點:addurl語法
- 6. 點語法與合成
- 7. VIM亮點語法問題
- 8. 訪問與點語法
- 9. 箭頭vs點語法?
- 10. 在節點需要語法
- 11. 屏蔽節點的語法
- 12. 亮點PHP語法VIM
- 13. 使用JAPE語法難點
- 14. 讓objc點語法編譯
- 15. 點語法VS與getter方法的語法=
- 16. 只讀屬性,方法和點語法
- 17. ANTLR浮點數和語法返回語法
- 18. 點語法轉換爲托架的語法上的結構
- 19. translate require()語法導入語法節點js
- 20. 無法使用紅點散列的點語法
- 21. Objective-C點語法和初始化
- 22. 節點的XDocument搜索語法
- 23. C++節點和鏈接列表語法
- 24. 複選框黑客語法難點
- 25. XPath語法以提取節點
- 26. 斯卡拉點語法(或缺乏)
- 27. xQuery插入節點的語法
- 28. Cloud9上的sqlite3 /節點語法錯誤
- 29. Objective-C點語法或屬性值?
- 30. 谷歌新聞站點地圖語法
查找「得墨忒耳定律」:http://en.wikipedia.org/wiki/Law_of_Demeter –
維基百科頁面是非常有益的!謝謝。 – user1017624