簡體   English   中英

將Int轉換為String時,它不顯示[Swift]

[英]When converting Int to String, it doesn't display [Swift]

import UIKit

class ViewController: UIViewController {

    //textField do valor A
    @IBOutlet weak var valueA: UITextField!
    //textField do valor B
    @IBOutlet weak var valueB: UITextField!
    //textField do valor
    @IBOutlet weak var valueC: UITextField!
    //declarando as labels string que serão transformadas em int
    var valueBint: Int = 0
    var valueAint: Int = 0
    var valueCint: Int = 0
    //valor de delta em int
    var deltaValue: Int = 0


    @IBAction func calcularButton(sender: UIButton) {
       let valueAint = Int(valueA.text!)
       let valueBint = Int(valueB.text!)
       let valueCint = Int(valueC.text!)
        //conta do delta
        deltaValue = (valueBint! * valueBint!) - (4 * valueAint! * valueCint!)
        print(deltaValue)
    }

    @IBOutlet weak var deltaValueS: UILabel!
        override func viewDidLoad() {
            super.viewDidLoad()
           deltaValueS.text = deltaValue.description
        }
    }

這是我的代碼。 我希望int deltaValuedeltaValueS標簽中顯示為字符串。 我嘗試了很多事情,但沒有顯示該值。 我試過了:

  • deltaValueS.text = "∆ is \\(deltaValue)"
  • deltaValueS.text = "∆ is" + String(deltaValue)
  • deltaValueS.text = deltaValue.description

但是沒有辦法。 問題不在數學上,數字會為我打印出來,而deltaValue是正確的。

誰能幫我?

您可以使用屬性觀察器輕松實現此目的。 每當deltaValue更改時,這將自動設置文本。

嘗試這個:

var deltaValue: Int = 0 {
    didSet {
        self.deltaValueS.text = "\(deltaValue)"
    }
}

//這樣嘗試

@IBAction func calcularButton(sender: UIButton) {
   let valueAint = Int(valueA.text!)
   let valueBint = Int(valueB.text!)
  let valueCint = Int(valueC.text!)
  //conta do delta
   deltaValue = (valueBint! * valueBint!) - (4 * valueAint! * valueCint!)
   self.deltaValueS.text = "\(deltaValue)"
   print(deltaValue)

}

每次按下按鈕時,不會計算viewDidLoad()中的deltaValueS.text = deltaValue.description。

您必須將函數放入@IBAction func calcularButton

    @IBAction func calcularButton(sender: UIButton) {
   let valueAint = Int(valueA.text!)
   let valueBint = Int(valueB.text!)
   let valueCint = Int(valueC.text!)
    //conta do delta
    deltaValue = (valueBint! * valueBint!) - (4 * valueAint! * valueCint!)
    print(deltaValue)
    deltaValueS.text = "∆ is " + String(deltaValue)
}

拉芬的解決方案遵循最佳實踐。 以這種方式考慮-您始終希望標簽文本與變量的值匹配。 因此,每次有人設置變量時,標簽的文本都必須更改。 換句話說,您只需要在calcularButton:中編寫一行代碼,然后再在clearButtonPressed:等中編寫代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM