我读一本书的iOS(它调用编程的iOS 4,由马特·诺伊堡),并在该段,他解释说,他说的属性这样的话:Objective-C的属性说明
的Objective-C对属性使用点符号,C对结构使用点符号;这些可以被链接。所以,例如,UIView的框架是一个属性,它的值是一个struct(一个CGRect);因此,可以说myView.frame.size.height,其中frame是返回结构的属性,size是该结构的一个组件,height是该结构的一个组件。但是,结构是不是指针,所以你不能(例如)通过链条直接设置框的高度开始UIView的,就像这样:
myView.frame.size.height = 36.0; // compile error
相反,如果你想改变一个一个结构属性的组件,你必须 获取属性值到一个结构体变量,改变 结构变量的值,并从 结构变量设置整个属性值:
CGRect f = myView.frame;
f.size.height = 0;
myView.frame = f;
我不太明白,为什么我不能使用下面的行?
myView.frame.size.height = 36.0;
看到这个[答案](http://stackoverflow.com/a/5861985/165737)。 – Anurag 2012-02-21 05:11:21
[CGRect是一个实例变量时如何获得CGRect元素的赋值访问权限]的可能重复(http://stackoverflow.com/questions/5860755/how-to-gain-assignment-access-to-cgrect-elements-当这个cgrect是一个实例) – Costique 2012-02-21 05:20:44