是否有人可以幫我寫以下,不使用點符號:如何在沒有點符號寫這
self.bounds.size.width
我已經試過[[[self bounds] size] width]
,但這會導致錯誤。有任何想法嗎?
是否有人可以幫我寫以下,不使用點符號:如何在沒有點符號寫這
self.bounds.size.width
我已經試過[[[self bounds] size] width]
,但這會導致錯誤。有任何想法嗎?
對於點語法的歧義性,您已經有所贅述。
你想:
[self bounds].size.width
-bounds
返回NSRect
的C結構。因此,您使用傳統的點來訪問其中的項目。
非常好 - 非常感謝。我試圖避免點符號很長一段時間,而不知道爲什麼。這已經闡明瞭它提出的問題。謝謝 – Jack 2010-10-08 20:33:04
爲了避免混合表示法,我可能更喜歡使用一個本地臨時C結構變量:
CGRect myBoundsRect = [ self bounds ];
foo = myBoundsRect.size.width;
這樣對象消息和C結構構件之間的差存取明確分離。
您是設置還是獲取?你爲什麼不想用點符號? CGRect和CGSize一樣是一個數據結構。 – Ben 2010-10-08 20:28:12
越來越多,我沒有理由不使用點符號,但我沒有在我的項目中的任何其他地方使用它 - 會很好地保持它的方式 – Jack 2010-10-08 20:30:11
符號看起來像訪問結構的成員,所以我不喜歡並避免在我的項目中;一個是我討厭C++語法的原因 – Ariel 2010-10-08 22:42:21