问题描述
我的 Model
文件:
起初我的TimeModel
import Foundation
class TimeModel {
var hrs = ""
var min = ""
var sec = ""
var time = ""
init(hrs: String,min: String,sec: String,time: String) {
self.hrs = hrs
self.min = min
self.sec = sec
self.time = time
}
}
然后我有一个 data
文件:
import Foundation
class Data {
class func getDataTime() -> [TimeModel] {
var dataTime = [TimeModel]()
dataTime.append(TimeModel(hrs: "0",min: "0",sec: "0,0",time: "Custom Time"))
dataTime.append(TimeModel(hrs: "0",00013",time: "1/8000"))
dataTime.append(TimeModel(hrs: "0",00016",time: "1/6400"))
dataTime.append(TimeModel(hrs: "0",0002",time: "1/5000"))
dataTime.append(TimeModel(hrs: "0",00025",time: "1/4000"))
dataTime.append(TimeModel(hrs: "0",00031",time: "1/3200"))
dataTime.append(TimeModel(hrs: "0",0004",time: "1/2500"))
dataTime.append(TimeModel(hrs: "0",0005",time: "1/2000"))
dataTime.append(TimeModel(hrs: "0",00062",time: "1/1600"))
dataTime.append(TimeModel(hrs: "0",0008",time: "1/1250"))
dataTime.append(TimeModel(hrs: "0",001",time: "1/1000"))
dataTime.append(TimeModel(hrs: "0",00125",time: "1/800"))
dataTime.append(TimeModel(hrs: "0",00156",time: "1/640"))
dataTime.append(TimeModel(hrs: "0",002",time: "1/500"))
dataTime.append(TimeModel(hrs: "0",0025",time: "1/400"))
dataTime.append(TimeModel(hrs: "0",00313",time: "1/320"))
dataTime.append(TimeModel(hrs: "0",004",time: "1/250"))
dataTime.append(TimeModel(hrs: "0",005",time: "1/200"))
return dataTime
}
}
这是我的 PickerView 代码:
import UIKit
class TimeModelPicker: UIView,UIPickerViewDataSource,UIPickerViewDelegate {
var timeModelData = [TimeModel]()
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView,numberOfRowsInComponent component: Int) -> Int {
return timeModelData.count
}
func pickerView(_ pickerView: UIPickerView,viewForRow row: Int,forComponent component: Int,reusing view: UIView?) -> UIView {
let pickerLabel = UILabel()
pickerLabel.textColor = UIColor.white
pickerLabel.text = timeModelData[row].time
pickerLabel.font = UIFont.boldSystemFont(ofSize: 25)
pickerLabel.textAlignment = NSTextAlignment.center
return pickerLabel
}
func pickerView(_ pickerView: UIPickerView,didSelectRow row: Int,inComponent component: Int) {
let defaults = UserDefaults.standard
defaults.set(row,forKey: "saveTimePicker")
}
}
最后是来自我的 VewController 的代码:
import UIKit
class PickerViewTimeController: UIViewController {
@IBOutlet weak var pickerViewTime: UIPickerView!
@IBOutlet weak var pickerViewLabel: UILabel!
@IBOutlet weak var okButton: UIButton!
@IBOutlet weak var timeStd: UITextField!
@IBOutlet weak var timeMin: UITextField!
@IBOutlet weak var timeSec: UITextField!
var dataPickerViewTime: TimeModelPicker!
//unwind / ok Button
@IBAction func unwindtoCalculate(_ sender: UIStoryboardSegue){
dismiss(animated: true,completion: nil)
}
override func viewDidLoad() {
super.viewDidLoad()
dataPickerViewTime = TimeModelPicker()
dataPickerViewTime.timeModelData = Data.getDataTime()
pickerViewTime.delegate = dataPickerViewTime
pickerViewTime.dataSource = dataPickerViewTime
if let selectedRow = UserDefaults.standard.object(forKey: "saveTimePicker") as? Int {
pickerViewTime.selectRow(selectedRow,inComponent: 0,animated: true)
}
// how can i get the output from the PickerView "didSelectRow" in this textfields / label ?
pickerViewLabel.text = "time"
timeStd.text = "h"
timeMin.text = "min"
timeSec.text = "sec"
}
}
如何在文本字段和标签中显示来自 time
h
min
和 sec
的值?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)