Expression is not assignable 错误与 CGRect
Expression is not assignable error with CGRect
我正在尝试创建 CGRect
属性。
@property (nonatomic) CGRect myRect;
然后,我设置了框架:
self.myRect = self.frame;
self.myRect.size.height = 10; // Error
我收到一条错误消息 "Expression is not assignable"。为什么我会这样?我不能更改 CGRect
的大小吗?
这样做。
_myRect = self.frame;
_myRect.size.height = 10;
self.myRect.size.height = 10
等同于 [ self myRect ].size.height = 10
您必须阅读 CGRect 属性,修改它,然后写回:
CGRect r = [ self myRect ] ;
// modify r here
[ self setMyRect:r ] ;
或:
CGRect r = self.myRect ;
// modify r here
self.myRect = r ;
我正在尝试创建 CGRect
属性。
@property (nonatomic) CGRect myRect;
然后,我设置了框架:
self.myRect = self.frame;
self.myRect.size.height = 10; // Error
我收到一条错误消息 "Expression is not assignable"。为什么我会这样?我不能更改 CGRect
的大小吗?
这样做。
_myRect = self.frame;
_myRect.size.height = 10;
self.myRect.size.height = 10
等同于 [ self myRect ].size.height = 10
您必须阅读 CGRect 属性,修改它,然后写回:
CGRect r = [ self myRect ] ;
// modify r here
[ self setMyRect:r ] ;
或:
CGRect r = self.myRect ;
// modify r here
self.myRect = r ;