0
我想调用twoVIEWCONTROLLER结构人内部的名称声明。我以为我可以从另一个视图控制器调用结构条目,但我不确定。我所面临的主要问题是结构只能进入一次。现在的代码是可以转让结构购买只有一个入口被保存。我如何获得结构来存储多个条目。从不同的视图控制器调用结构保存多个条目(swift4)
的viewController
import UIKit
class ViewController: UIViewController {
@IBOutlet var a: UITextField!
@IBOutlet var label: UILabel!
var contacts = [Person]()
@IBAction func save(_ sender: Any) {
let newPerson = Person(name: a.text!)
contacts.append(newPerson)
contacts.sort { $0.name < $1.name }
self.selectedPerson = newPerson
}
var selectedPerson:Person?
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let vc = segue.destination as? twoViewController {
if self.selectedPerson != nil {
vc.person = selectedPerson
}}}
}
struct Person: CustomStringConvertible {
let name: String
var description: String {
return name
}}
twoVIEWCONTROLLER
import UIKit
class twoViewController: UIViewController {
@IBOutlet var l: UILabel!
var person:Person?
override func viewDidLoad() {
super.viewDidLoad()
if let p = self.person {
l.text = p.name
}}}
您需要访问的人的实例来访问该实例的'name'属性。 – dasdom
你没有说如果'ViewController'呈现'twoViewController'或都是完全独立的... – Ladislav
@Ladislav我试图做到这两个viewcontrollers行事互相独立。 –