在 objective c 中计算 属性
computed property in objective c
我正在尝试通过复制 this 教程在 objective-C 中制作一个纺车。但我不知道如何在 objective c 中转换 swift 的计算 属性。我如何在 objective-c 中声明半径变量,如下面的代码,我可以在计算变量中调用 invalidateLayout 方法?
var radius: CGFloat = 500 {
didSet {
invalidateLayout()
}
}
严格来说你的例子不是计算出来的属性
无论如何 Objective-C 等价于
@property (assign, nonatomic) CGFloat radius;
有时通过实例变量设置初始值以获得在初始化时不调用 invalidateLayout
方法的行为。
_radius = 500.0;
并实施 setter
- (void)setRadius:(CGFloat)radius
{
if (_radius != radius) {
_radius = radius;
[self invalidateLayout];
}
}
如果您需要始终调用 invalidateLayout
,即使值未更改,请删除 if
检查。
我正在尝试通过复制 this 教程在 objective-C 中制作一个纺车。但我不知道如何在 objective c 中转换 swift 的计算 属性。我如何在 objective-c 中声明半径变量,如下面的代码,我可以在计算变量中调用 invalidateLayout 方法?
var radius: CGFloat = 500 {
didSet {
invalidateLayout()
}
}
严格来说你的例子不是计算出来的属性
无论如何 Objective-C 等价于
@property (assign, nonatomic) CGFloat radius;
有时通过实例变量设置初始值以获得在初始化时不调用 invalidateLayout
方法的行为。
_radius = 500.0;
并实施 setter
- (void)setRadius:(CGFloat)radius
{
if (_radius != radius) {
_radius = radius;
[self invalidateLayout];
}
}
如果您需要始终调用 invalidateLayout
,即使值未更改,请删除 if
检查。