簡體   English   中英

Swift 3,從ViewControler訪問用戶輸入文本字段值,並在模型.swift文件中使用它們

[英]Swift 3, accessing user input Text Field values from ViewControler and used them in a model .swift file

這是我的第一個問題。 我是swift和編程的新手,所以如果我問愚蠢的問題請不要笑

所以我有一個SettingsViewControler,用戶可以設置它們的值,讓我們設置溫度值。 我正在嘗試做的是獲取他們輸入的溫度值並將其傳遞給我的model.swift文件,在公式中引入該值,以使用輸入溫度計算新值。 我希望這是有道理的。

有沒有辦法通過將類表單VC調用到我在model.swift文件中創建的newData類來直接執行此操作,或者我應該使用某些方法(如UserDefaults)來傳遞數據。

這是代碼示例:

首先,我創建了一個Settings.swift文件

      // Settings.swift file

import Foundation

class Settings {

var inputTemperature: Float = 0


init(inputTemperature: Float) {

    self.inputTemperature = inputTemperature
}

}

這是設置視圖控制器

  //Settings ViewCOntroller. swift file

import UIKit

class SettingsViewController: UIViewController {

@IBOutlet weak var inputTemperatureTextField: UITextField!

var getTemp = Settings(inputTemperature: 72)

override func viewDidLoad() {
    super.viewDidLoad()
  }

func getValues() {

    getTemp.inputTemperature = (inputTemperatureTextField.text! as NSString).floatValue

}

 }else if textField == inputTemperatureTextField {
        textField.resignFirstResponder()
        getValues()


}

所以現在我有另一個Calculations.swift文件,我想獲取inputTemperature值以在公式中使用它

 //Calculation. swift file

import Foundation

class Calculations {

var inputA: Float = 0
var inputB: Float = 0
var resultC: Float =  0


init(inputA: Float, inputB: Float) {

    self.inputA = inputA
    self.inputB = inputB

   }

   // Here i want to add the temperature value 
   func calc() {

    resutC = inputA * inputC // * inputTemperature

   }

我想從SettingsView COntroller獲取get(inputTemperatureTextField.text!as NSString).floatValue值,將其引入位於Calculation.swift文件中的公式

謝謝

您應該發布一些代碼,以便讓我們深入了解您想要的內容。 讓我們在你的模型中說你有溫度值

var temp: Int?

然后,您可以在VC中初始化它,並訪問臨時值

var model = Model()

let model.temp = inputTextField.text

如果您使用model.swift進行計算。 您將在View控制器中創建模型類的對象,在創建對象后,您可以將測試字段值傳遞給模型。

var modelObject: model? = model();
modelObject.temprature = txtTemprature.text;

暫無
暫無

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

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