Передача данных между двумя контроллерами представления не работает
Я пытаюсь передать некоторые данные между двумя контроллерами представления, но это не работает..
Это данные, которые я пытаюсь передать (у них есть элементы с parse.com - один и тот же код есть в обоих контроллерах представления):
var userFile = [PFFile]()
var createdAt = [NSDate]()
var objID = [String]()
Это кнопка для открытия контроллера вида (внутри первого контроллера вида я пытаюсь отправить данные ОТ):
@IBAction func openButtonAction(sender: AnyObject) {
let modalVC = ModalViewController(nibName: "ModalViewController", bundle: nil)
modalVC.userFile = self.userFile
modalVC.createdAt = self.createdAt
modalVC.objID = self.objID
print("USERFILE: \(modalVC.userFile.count)")
presentViewController(modalVC, animated: true, completion: nil)
}
Контроллер представления является ModalViewController.xib
соединен с ViewStoryModalViewController.swift
Это viewDidLoad в контроллере представления, в который я пытаюсь отправить данные:
override func viewDidLoad() {
super.viewDidLoad()
print("USERFILECOUNT: \(self.userFile.count)")
}
Моя проблема в том, что это сообщения, которые я получаю в выводе xCode:
Что здесь может быть не так? Какие-либо предложения?
2 ответа
Попробуйте этот код, который вы сначала должны представить после этого попытаться установить переменную.
IBAction func openButtonAction(sender: AnyObject) {
let modalVC = ModalViewController(nibName: "ModalViewController", bundle: nil)
print("USERFILE: \(modalVC.userFile.count)")
presentViewController(modalVC, animated: true, completion: nil)
modalVC.userFile = self.userFile
modalVC.createdAt = self.createdAt
modalVC.objID = self.objID
}
Вывод xCode сообщает, что массив self.userFile содержит ноль элементов. Это не означает, что он передан неправильно. Это просто пусто.
print("USERFILECOUNT: \(self.userFile.count)")
Проверьте, пусто ли оно, прежде чем передавать его модальному vc.