Я создаю простое приложение «Резолюции», но при запуске текущего контроллера представления в MasterViewControllet у меня возникла проблема - я хочу сделать это, чтобы установить некоторые из его переменных. Ошибка, которую я получаю, - «Не удалось отличить значение типа« UINavigationController »(0x10c534670) до« Resolution_App.MasterViewController »(0x10ac97d00)». Это моя основная раскадровка: и это код в разделе «Добавить новые разрешения» viewcontroller Пожалуйста, какие-либо предложения по правильному их использованию?Контроллер представления зрения в MasterViewController при использовании UINavigationController
class EditViewController: UIViewController {
@IBOutlet weak var resolutionTitle: UITextField!
@IBOutlet weak var achievedDate: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func saveButton(sender: AnyObject) {
var newResolution = ["name":resolutionTitle.text,"achievingDate":achievedDate.text,"startingDate":"\(NSDate())"] as Dictionary<String,String>
var destinationController = presentingViewController as! MasterViewController
destinationController.objects.insert(newResolution, atIndex: 0)
destinationController.notifyTableViewForNewInsertion()
destinationController.saveDateToFile()
self.dismissViewControllerAnimated(true, completion: {})
}
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
}
}
Спасибо за ваш ответ. Это сработало! :) var destinationController = (presentingViewController as! UINavigationController) .viewControllers [0] as! MasterViewController –