Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 变量为';t更新_Ios_Swift - Fatal编程技术网

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的概念, 参考文献: