我正在尝试使用Swift在Xcode中编写一个简单的应用程序。
我有两个标签,其中包含INT值,用户使用Steppers按上下文递增:
类ViewController:UIViewController {
@IBOutlet weak var valueLabel: UILabel! @IBOutlet weak var stepper: UIStepper! @IBAction func stepperValueChanged(sender: UIStepper) { valueLabel.text = Int(sender.value).description } @IBOutlet weak var valueLabel2: UILabel! @IBOutlet weak var stepper2: UIStepper! @IBAction func stepperValueChanged2(sender: UIStepper) { valueLabel2.text = Int(sender.value).description }
然后我想要另一个Label(label3),它接受来自label1&的INTs。 label2并将它们分开。
例如,如果用户将Label1作为' 5'和label2为' 10'我希望label3显示' 0.5'。
有没有一种简单的方法可以做到这一点?
我确信你可以说,我对iOS开发真的很陌生,所以非常感谢任何帮助或建议!
干杯!
答案 0 :(得分:0)
虽然这是一个简单的程序,但您仍应使用最佳实践并采用模型 - 视图 - 控制器设计。您的模型(数据)应与视图分开(实质上是数据的显示方式)。在更“严肃”的应用程序中,模型通常是一个单独的类,但在这种情况下,您可以使用本地属性。
在Int属性中存储数据也意味着当您想要执行计算时,不必从字符串转换回来。
class ViewController: UIViewController {
@IBOutlet weak var valueLabel: UILabel!
@IBOutlet weak var stepper: UIStepper!
@IBOutlet weak var valueLabel2: UILabel!
@IBOutlet weak var stepper2: UIStepper!
@IBOutlet weak var valueLabel3: UILabel!
var value1=0;
var value2=0;
@IBAction func stepperValueChanged(sender: UIStepper) {
self.value1=Int(sender.value);
self.valueLabel1.text="\(self.value1)";
self.updateResult();
}
@IBAction func stepperValueChanged2(sender: UIStepper) {
self.value2=Int(sender.value);
self.valueLabel1.text="\(self.value1)";
self.updateResult();
}
func updateResult {
if (self.value2 != 0) {
var result=Float(self.value1)/Float(self.value2)
self.valueLabel3.text="\(result)"
} else {
self.valueLabel3.text="Can't divide by 0"
}
}
}