我正在Xcode中创建一个健身应用程序,其中不同的活动值得不同点,并且用户在主页上有总分。 我正在尝试将UILabel(我已经为每个挑战指定了点数)转换为整数,这样我就可以在选择该挑战时计算用户总积分。
我相信我需要使用Swift并将UILabel连接到一个插座并给出计算按钮一个动作,但是我无法弄清楚如何从UILabel获取一个Int值来进行计算。
任何人都可以帮忙解决这个问题,或者你能想出更好的方法。
提前致谢
我有这个,没有错误,但按下按钮时没有任何反应。我的目标是将新点添加到当前点,但试图让这部分首先工作。
@IBAction func Calculate(_ sender:Any){
if let NewPointsText = NewPoints.text,
let NewPointsValue = Int(NewPointsText){
print(NewPointsValue)
} else{
print("Not Worked")
}
if let CurrentPointsText = CurrentPoints.text,
let CurrentPointsValue = Int(CurrentPointsText){
print(CurrentPointsValue)
}else{
print("Current Points Not Worked")
}
}
}
答案 0 :(得分:0)
您需要先从text
获取UILabel
,然后使用Int
将其转换为initializer
值。
if let text = self.label.text, let value = Int(text)
{
//Write your code here
}
如果initializer
无法转换为nil
值,则string
会返回Int
,否则会返回non-nil Int value
,即
Int("hello")
返回nil
Int("10")
返回10
。答案 1 :(得分:0)
使用if let
,您可以轻松尝试提取值:
@IBOutlet var label: UILabel!
@IBAction func calculateStuff(sender: UIButton) {
// do stuff
if let labelText = label.text,
let intValue = Int(labelText) {
// use intValue as you want
} else {
// if label did not contain an integer, you can react here
}
}