Я пытаюсь передать данные с PFTableViewCell на следующий контроллер представления (подробности) с помощью функции prepareForSegue. Я думаю, что я ввел правильный код, но когда я запускаю приложение и нажимаю на ячейку, мое приложение падает, и я получаю это сообщение «неожиданно найдено нуль при распаковке необязательного значения». Я пробовал много вариантов для функции prepareForSegue для передачи данных, но никогда не появлялся на следующем контроллере представления.Ошибка при подготовкеForSegue «неожиданно найдена при открытии необязательного значения»
В моей FirstViewController я этот код написан:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "Detail" {
if let destination = segue.destinationViewController as? ResponseViewController {
let path = tableView?.indexPathForSelectedRow!
let cell = tableView!.cellForRowAtIndexPath(path!) as! Post
destination.name = (cell.name.text!)
destination.message = (cell.message.text!)
}
Вот код, чтобы отобразить данные, передаваемые в ResponseViewController:
var name = String?()
var message = String?()
@IBOutlet weak var userName: UILabel!
@IBOutlet weak var userMessage: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
userName.text! = name!
userMessage.text! = message!
}
Теперь, как исправить эту проблему или еще лучше как я могу подготовитьForSegue в swift 2.0?
одна из ваших переменных равна нулю - вы не можете использовать значение nil в ваших выражениях. Если вы отключите 'nil', используя '!' ваша программа вылетает с этим сообщением об ошибке. (Swift заставляет вас иметь дело с значениями «nil» во время компиляции, а также во время выполнения, как с Obj-C). – nielsbot
попробуйте заменить все '!' с '?' и получить ваш код для компиляции таким образом. – nielsbot