我正在制作一款应用程序,告诉您动物根据体重需要多少药物等。对于LRS(一种药物),配方是
(30 *重量*因子+ 70)*因子+脱水+重量
所以对于代码,我键入了lrs = (30 * [weight.text intValue] + 70) * [factor.text intValue] + [weight.text intValue] * [deh.text intValue] * 10 + [losses.text intValue];
,但编译器说有"使用未解析的标识符intValue"。
我在网上看到的每个地方都说[example.text intValue]
从UITextField的输入中获取一个数字值。我的代码有问题吗?谢谢!
PS - 我只有十二岁,我在网上了解了所有关于代码的知识,并且我一直在努力解决我的问题近两个小时。如果您回答,您的答案是否可以彻底且易于理解?
此外,所有我的代码:
import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var animalNum: UITextField!
@IBOutlet weak var logLabel: UILabel!
@IBOutlet weak var resetButton: UIButton!
@IBOutlet weak var weight: UITextField!
@IBOutlet weak var deh: UITextField!
@IBOutlet weak var losses: UITextField!
@IBOutlet var factor: [UITextField]!
@IBOutlet weak var lrs24: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Handle the text field’s user input through delegate callbacks.
animalNum.delegate = self
}
// MARK: UITextFieldDelegate
func textFieldShouldReturn(textField: UITextField) -> Bool {
// Hide the keyboard.
textField.resignFirstResponder()
return true
}
func textFieldDidEndEditing(textField: UITextField) {
logLabel.text = textField.text
}
// MARK: Actions
@IBAction func setDefaultLabelText(sender: UIButton) {
logLabel.text = "Default Text"
}
@IBAction func textFieldsDidEndEditing(sender: AnyObject) {
lrs24.label = (30 * [weight.text ,intValue] + 70) * &factor+ &weight * &deh * 10 + &losses;
//(30 * &weight + 70) * &factor + &weight * &deh * 10 + &losses
}
// MARK: properties
}
答案 0 :(得分:2)
[weight.text intValue]
是Objective-C代码。 Swift等价物是(weight.text as NSString).intValue
(as NSString
是必要的,因为swift字符串不会被隐式转换为NSString。)
甚至更多Swifty,Int(weight.text)
,它为您提供了一个可选的< Int>当字符串不是一个格式正确的数字时,而不是返回0。