有人可以帮我写下面的内容,而不使用点符号:
self.bounds.size.width
我尝试了[[[self bounds] size] width]
,但这会导致错误。有什么想法吗?
答案 0 :(得分:7)
你已经反对点语法的含糊不清。
你想:
[self bounds].size.width
-bounds
返回NSRect
C结构。因此,您可以使用传统的点来访问其中的项目。
答案 1 :(得分:5)
为避免使用混合表示法,我可能更喜欢使用本地临时C结构变量:
CGRect myBoundsRect = [ self bounds ];
foo = myBoundsRect.size.width;
这样就可以明确区分对象消息和C结构成员访问之间的区别。