我是快速的初學者。在這個專案中,我需要將用戶的輸入存盤到字典中。然后我用資料做一些計算。我有一個“計算”按鈕,按下時,程式開始計算結果并將結果傳遞到另一個螢屏。我被困在這里只是無法傳遞資料。也許我的“計算”代碼有問題。請幫忙。
import UIKit
class ViewController: UIViewController {
var student: [String: Int] = [:]
var g : String = ""
var gr : String = ""
var mean : Double = 0.0
@IBOutlet weak var t2: UITextField!
@IBOutlet weak var s1: UILabel!
@IBAction func add(_ sender: UIButton) {
let getInput1 = t1.text!
let getInput2 = Int(t2.text!)
if getInput1 != nil && getInput2! >= 0
{
student[getInput1] = getInput2
s1.text = getInput1
t1.text = nil
t2.text = nil
}else{
s1.text = "None"
}
}
@IBAction func calc(_ sender: Any) {
for (key, value) in student{
theSum = theSum value
if count == 0
{
maxName = key
min = value
}
count = count 1
}
mean = Double(theSum)/Double(student.count)
let grade1 = min
switch grade1
{
case 93...100: g = "A"
case 0...59: g = "F"
default: g = ""
}
}
}
override func viewDidLoad() {
super.viewDidLoad()
}
uj5u.com熱心網友回復:
你的 UIViewController 有一些錯誤
在你的
@IBAction func add(_ sender: UIButton)
代替
if getInput1 != nil && getInput2! >= 0
你應該去
if t1.hasText && t2.hasText && getInput2! >= 0
并將值傳遞給 ResultsViewController
從情節提要中添加 segue 并將識別符號命名為“SomeID”
然后去
UIViewcontroller類并添加
self.performSegue(withIdentifier: "SomeID", sender: self)
到你的calc功能。
完整代碼 = https://github.com/alirzaeram/Pass-the-calculation-result
uj5u.com熱心網友回復:
你從不打電話performSegue(withIdentifier identifier: String, sender: Any?)。我假設您想在計算完成后執行 segue ,對嗎?這就是你應該呼叫 performSegue 的時候。不要忘記在故事板中為您的 segue 提供一個 ID,并將此 ID 作為identifier傳遞給 performSegue 函式。
uj5u.com熱心網友回復:
有很多方法可以做到這一點,但您可以使用 UserDefaults
//要保存值,您可以使用 UserDefaults.standard.setValue(Any?, forKey: String)
//并獲得 let yourVar = UserDefaults.standard.value(forKey: String) 0r//
類 FirstViewController: UIViewController {
var yourCalculation = "your calculation"
var yourResult = 5
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func btn(){
let vc = self.storyboard?.instantiateViewController(withIdentifier: "SecondViewController") as! SecondViewController
vc.yourCalculation = yourCalculation
vc.yourResult = yourResult
self.navigationController?.pushViewController(vc, animated: true)
}
}
//你的第二個viewController類SecondViewController: UIViewController {
@IBOutlet weak var yourLabel:UILabel!
@IBOutlet weak var yourLabel2:UILabel!
var yourCalculation = String()
var yourResult = Int()
override func viewDidLoad() {
super.viewDidLoad()
self.yourLabel.text = yourCalculation
let yourInt : String = String(yourResult)
self.yourLabel2.text = yourInt
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/386390.html
下一篇:使用串列中的專案更新字典
