我正在尝试在我的应用程序中创建一个场景,允许用户在两个单独的文本字段中输入数字,这会执行一些基本的数学运算,并在单击“计算按钮”时将输出吐出到标签中。我观看了视频,更改了代码,而且我似乎无法以我想要的方式工作,而且我的应用程序一直在崩溃。这是我到目前为止的简单代码。任何人都可以解释我输入的内容是错误的以及我需要改变什么吗?非常感谢,谢谢!
import UIKit
class DopamineCalculator: UIViewController {
//Patient weight Input
@IBOutlet weak var patientWeight: UITextField!
//calculate button
@IBAction func calculateButton(sender: AnyObject) {
let weightPatient = Double(self.patientWeight.text!)
dripAnswer.text = String(weightPatient * 2)
}
//Clear button action
@IBAction func clearButton(sender: AnyObject) {
self.patientWeight.text=nil
//self.dosageDesired.text=nil
self.dripAnswer.text=nil
}
//Drip Rate Answer Label
@IBOutlet weak var dripAnswer: UILabel!
我的“清除”按钮有效,但我无法使用“计算”按钮。我现在试着保持简单,只需添加两个盒子,但我甚至无法让它工作。
答案 0 :(得分:0)
var weightpatient = Double(self.patientweight.text!)
weightpatient = Double(weightpatient!*2)
let basicStr:String = String(format:"%f", weightpatient!)
dripanswer.text = String(basicStr)
工作正常..
以下是https://www.dropbox.com/s/p67f88qnnsekivn/Blur.zip?dl=0的演示链接,试试让我知道
答案 1 :(得分:0)
也许是"!"在重量患者之后。子代码很适合我的模拟器(xcode 7.3.1)。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var patientweight: UITextField!
@IBAction func calculatebutton(sender: AnyObject) {
let weightpatient = Double(self.patientweight.text!)
dripanswer.text = String(weightpatient! * 2)
}
@IBAction func clearbutton(sender: AnyObject) {
self.patientweight.text=nil
//self.dosagedesired.text=nil
self.dripanswer.text=nil
}
@IBOutlet weak var dripanswer: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
}
答案 2 :(得分:0)
首先,您应该检查输入的患者体重是否为数字。使用此扩展程序:
Movie.objects.all().filter(genre=self.object)
然后检查字符串是否为空并且包含数字,如果满足这两个条件,则继续计算..
extension String {
var isNumber: Bool
{
let range = self.rangeOfCharacter(from: CharacterSet.decimalDigits.inverted)
return (range == nil)
}
}