嗨我在这里的建议,看看我在做什么是最好的选择是很好的迅速。我有从viewcontroller1呈现的视图控制器。在viewcontroller2我有一个文本框,当文本已满时,将文本保存到我的单例文件,并通过协议在视图控制器1中启动一个操作,以将该文本保存到数据库并使用这些标签更新视图控制器1中的uilabels,然后我解雇了视图控制器二。我从视图控制器1中的视图控制器2启动一个功能,将单个数据保存到数据库。这很好吗。如果你有任何问题随时问。从另一个视图控制器的视图控制器触发器操作
class ViewController1: UIViewController, EditProtocol{
var label = UIlabel()
@IBAction func Editname(_ sender: Any) {
if let vc = storyboard.instantiateViewController(withIdentifier: "ViewController2Identifier") as? ViewController2{
vc.controller = self
vc.modalPresentationStyle = .custom
vc.modalTransitionStyle = .crossDissolve
vc.setViewControllers([ProductInformation], animated: true)
self.present(vc, animated:true, completion: nil)
}
}
func SaveName() {
label.text = singleton.shared.text
}
protocol EditProtocol {
func SaveName()
}
class ViewController2: UIViewController{
var controller: EditProtocol?
@IBOutlet weak var Name: UITextField!
@IBAction func Back(_ sender: AnyObject) {
singleton.shared.text = Name.text
controller?. SaveName()
self.dismiss(animated: true, completion: nil)
}
}
https://stackoverflow.com/a/30541063/2303865 –