Ios 变量为';t更新
我有一个函数Ios 变量为';t更新,ios,swift,Ios,Swift,我有一个函数setCoeff(),它没有更新coeff变量,因为我在BadgeView中没有看到任何变化。我怎样才能打印出那行的内容?我在ViewController文件中定义了BadgeView类 视图控制器 if let ElapsedPercentual:Int = JSON.value(forKeyPath: "ResponseEntity.ElapsedPercentual") as? Int { porcentaje = ElapsedPercentual print
setCoeff()
,它没有更新coeff
变量,因为我在BadgeView
中没有看到任何变化。我怎样才能打印出那行的内容?我在ViewController
文件中定义了BadgeView
类
视图控制器
if let ElapsedPercentual:Int = JSON.value(forKeyPath: "ResponseEntity.ElapsedPercentual") as? Int {
porcentaje = ElapsedPercentual
print(porcentaje)
BadgeView().setCoeff(coeff: CGFloat(porcentaje)/100, animated: true)
}
獾景
private(set) var coeff: CGFloat = 0.2 {
didSet {
updateFillViewFrame()
}
}
public func setCoeff(coeff: CGFloat, animated: Bool) {
if animated {
UIView.animate(withDuration: 0.5, animations:{ () -> Void in
self.coeff = coeff
})
} else {
self.coeff = coeff
}
}
已解决:我忘了将情节提要上的UIView连接到
视图控制器
,然后将其类型设置为BadgeView
,然后它工作了 问题在于BadgeView().setCoeff(coeff:CGFloat(porcentaje)/100,动画:true)
。在这一行中,您正在创建BadgeView
的一个新实例,并对其调用一个方法。不适用于UI中显示的实例
试着理解OOPs的概念,
参考文献: