【发布时间】:2018-07-18 04:34:34
【问题描述】:
您好,我对 Swift 很陌生。我在 youtube 上观看了几个不同的视频和教程,但我无法确定我做错了什么。
我正在尝试从签到视图中获取数据并将其转移到摘要视图中。代码运行,我可以在应用程序中移动,但数据没有移动。下面是两个不同 swift 文件的代码。任何见解将不胜感激。
签到:
import Foundation
import UIKit
class VieNewCheckIN : UIViewController {
@IBOutlet var SWR: UILabel!
@IBOutlet var ModelNumber: UITextField!
@IBOutlet var SerialNumber: UITextField!
@IBOutlet var Notes: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
guard let viewnewsummary = segue.destination as? ViewNewSummary else { return }
viewnewsummary.NotesValue = Notes.text
viewnewsummary.SerialNumberValue = SerialNumber.text
viewnewsummary.ModelNumberValue = ModelNumber.text
}
}
总结:
import Foundation
import UIKit
class ViewNewSummary : UIViewController {
@IBOutlet var FirstNameLabel: UILabel!
var FirstNameValue : String!
@IBOutlet var LastNameLabel: UILabel!
var LastNameValue : String!
@IBOutlet var IDLabel: UILabel!
var BaylorIDValue : String!
@IBOutlet var EmailLabel: UILabel!
var BaylorEmailValue : String!
@IBOutlet var PhoneNumberLabel: UILabel!
var PhoneNumberValue : String!
@IBOutlet var ModelNumberLabel: UILabel!
var ModelNumberValue : String!
@IBOutlet var SerialNumberLabel: UILabel!
var SerialNumberValue : String!
@IBOutlet var NotesLabel: UILabel!
var NotesValue : String!
override func viewDidLoad() {
super.viewDidLoad()
FirstNameLabel.text = FirstNameValue
LastNameLabel.text = LastNameValue
BaylorIDLabel.text = BaylorIDValue
BaylorEmailLabel.text = BaylorEmailValue
PhoneNumberLabel.text = PhoneNumberValue
ModelNumberLabel.text = ModelNumberValue
SerialNumberLabel.text = SerialNumberValue
NotesLabel.text = NotesValue
}
}
【问题讨论】:
-
我不确定您是否可以从
prepare访问字段/网点(我可能正在考虑另一种情况)。我倾向于做的是使用struct来包装数据并将其分配给目标中的可选变量。当viewDidLoad(最终)被调用时,我检查该可选的状态,如果已设置,我将值应用于该点的字段 -
我建议你在
prepare和viewDidLoad中设置断点,然后单步执行你的代码,看看发生了什么