Я хочу передать строковые данные из родительского vc в дочерний vc в swift 3.
Мой дочерний vc — это представление контейнера. Так что смотрите мой код:
class ParentViewController: UIViewController
@IBOutlet var continerView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
let vc = storyboard?.instantiateViewController(withIdentifier: "ChildVCID") as! ChildViewController!
vc?.myStr = "Hello Bro"
addChildViewController(vc!)
continerView.addSubview((vc?.view)!)
didMove(toParentViewController: vc)
}
}
И мой дочерний код:
class ChildViewController: UIViewController
var myStr:String!
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(_ animated: Bool) {
print("Str is: ",myStr)
}
Итак, эта ошибка будет отображаться:
Поэтому как это исправить?
super.viewDidAppear(animated)
в качестве первой строки ChildViewController viewDidAppear. Я не думаю, что это является причиной аварии. - person Mobile Dan   schedule 31.01.2017didMove(toParentViewController: vc)
должно бытьdidMove(toParentViewController: self)
- person Mobile Dan   schedule 31.01.2017