Swift 如何从文本字段获取数字输入?
我会马上回答这个问题Swift 如何从文本字段获取数字输入?,swift,Swift,我会马上回答这个问题 var a = 0 var b = 20 我想让一个用户把数字输入到TextField中,我可以把这个数字保存到变量a中。然后我想做一个if语句,其中 if a == b { //code } 我遇到的问题是从文本字段中获取数字输入 您可以检查文本字段中的输入以获取数字 迅捷4 试试这个类函数 class SourceVC: UIViewController { @IBOutlet weak var sampleTF: UITextField!{
var a = 0
var b = 20
我想让一个用户把数字输入到TextField中,我可以把这个数字保存到变量a中。然后我想做一个if语句,其中
if a == b {
//code
}
我遇到的问题是从文本字段中获取数字输入 您可以检查文本字段中的输入以获取数字 迅捷4
试试这个类函数
class SourceVC: UIViewController
{
@IBOutlet weak var sampleTF: UITextField!{
didSet{
sampleTF.delegate = self
}
}
/// TF value
var a : Int = 0
var b : Int = 20
override func viewDidLoad() {
super.viewDidLoad()
}
/// Assuming this button action to get Value from TF
@IBAction func naviagteToDestination(_ sender: Any)
{
a = Int((sampleTF.text?.trimmingCharacters(in: .whitespaces))!)!
if a == b {
print("Execute")
}
else{
print("Dont Execute")
}
}
}
extension SourceVC : UITextFieldDelegate
{
/// This will Limit TF to accept only Numbers
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool
{
let allowedCharacters = CharacterSet.decimalDigits
let characterSet = CharacterSet(charactersIn: string)
return allowedCharacters.isSuperset(of: characterSet)
}
}
你想什么时候在点击提交按钮时从TF处获取号码?是的,如果TF只接受号码,在操作按钮下是否可以?对于这种情况,TF应该只接受number-only-guard let num=InttextField.text-else{return}let a=num不可能的重复项,为什么要将一个保护与强制展开合并?这毫无意义。你的编辑更糟糕,因为现在如果输入的值不是有效的Int,应用程序将崩溃。但是我使用characterset来确保在TF中输入的文本是Int值,我仍然想知道如何才能使这一点正确。例如,请参阅其他答案。基本上,避免碰撞导致强制展开。
class SourceVC: UIViewController
{
@IBOutlet weak var sampleTF: UITextField!{
didSet{
sampleTF.delegate = self
}
}
/// TF value
var a : Int = 0
var b : Int = 20
override func viewDidLoad() {
super.viewDidLoad()
}
/// Assuming this button action to get Value from TF
@IBAction func naviagteToDestination(_ sender: Any)
{
a = Int((sampleTF.text?.trimmingCharacters(in: .whitespaces))!)!
if a == b {
print("Execute")
}
else{
print("Dont Execute")
}
}
}
extension SourceVC : UITextFieldDelegate
{
/// This will Limit TF to accept only Numbers
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool
{
let allowedCharacters = CharacterSet.decimalDigits
let characterSet = CharacterSet(charactersIn: string)
return allowedCharacters.isSuperset(of: characterSet)
}
}