从各种标签获取值并进行简单计算

时间:2014-11-01 08:40:59

标签: ios swift

我正在尝试使用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开发真的很陌生,所以非常感谢任何帮助或建议!

干杯!

1 个答案:

答案 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"
     }
}
}