swift中如何将标签的文本保存为整型变量?
How can save the text of the label as an integer variable in swift?
我需要将我的标签的变化文本保存为一个变量,但是如果写下面的代码:
var warn = Int(self.dyn.text)
它说:
Value of optional type 'String?' must be unwrapped to a value of type 'String'
Coalesce using '??' to provide a default when the optional value contains 'nil'
Force-unwrap using '!' to abort execution if the optional value contains 'nil'
我应该使用什么代码?
var warn = Int(self.dyn.text ?? "") ?? 0
您必须提供一个默认值,以防无法转换为 Int。您还必须确保文本值不为零。
看看可选链接和可选绑定
另一种方法是:
if let dynText = self.dyn.text {
if let warn = Int(dynText) {
// warn is an available int variable here.
}
}
2 种方法
1: let warn = Int(self.dyn.text ?? "") ?? 0
2: let warn = Int(self.dyn.text!)!
很好。因为 String 可以是 "123"
或者 "Hello,world"
所以它可以是数字或者 String text
当你使用这个
Int(String)
初始化器可能会失败,它 returns 一个可选的 Int
,而不是 Int
例子
let possibleNumber = "123"
let convertedNumber = Int(possibleNumber)
// convertedNumber is inferred to be of type "Int?", or "optional Int"
所以你必须打开它
像那样
// unwrap text if TextField is not `!` and then unwrap text when you convert to Int
if let dynText = self.dyn.text , let warn = Int(dynText) {
print(warn)
}
我需要将我的标签的变化文本保存为一个变量,但是如果写下面的代码:
var warn = Int(self.dyn.text)
它说:
Value of optional type 'String?' must be unwrapped to a value of type 'String'
Coalesce using '??' to provide a default when the optional value contains 'nil'
Force-unwrap using '!' to abort execution if the optional value contains 'nil'
我应该使用什么代码?
var warn = Int(self.dyn.text ?? "") ?? 0
您必须提供一个默认值,以防无法转换为 Int。您还必须确保文本值不为零。
看看可选链接和可选绑定
另一种方法是:
if let dynText = self.dyn.text {
if let warn = Int(dynText) {
// warn is an available int variable here.
}
}
2 种方法
1: let warn = Int(self.dyn.text ?? "") ?? 0
2: let warn = Int(self.dyn.text!)!
很好。因为 String 可以是 "123"
或者 "Hello,world"
所以它可以是数字或者 String text
当你使用这个
Int(String)
初始化器可能会失败,它 returns 一个可选的 Int
,而不是 Int
例子
let possibleNumber = "123"
let convertedNumber = Int(possibleNumber)
// convertedNumber is inferred to be of type "Int?", or "optional Int"
所以你必须打开它
像那样
// unwrap text if TextField is not `!` and then unwrap text when you convert to Int
if let dynText = self.dyn.text , let warn = Int(dynText) {
print(warn)
}