MailComposeViewController Ошибка: неожиданно найден ноль

Я пытаюсь сохранить адрес электронной почты и время отправки письма в виде таблицы. Письма отправляются нормально, но я получаю эту ошибку (Ошибка: неожиданно обнаружен ноль при развертывании необязательного значения) всякий раз, когда я нажимаю кнопку отправки. Я не уверен, где ошибка в моем коде.

Код для кнопки отправки:

//SentEmails Array
var sentEmails = [emailObject]()

//Default email
var sentEmailTo = "email@email.com"

//Dismiss Buttons for Mail Composer
func mailComposeController(controller:MFMailComposeViewController, didFinishWithResult result:MFMailComposeResult, error:NSError?) {

    //Check for errors
   if let error = error {
        print("Error: \(error)")
        return
    }

    switch result {
    case MFMailComposeResultCancelled:
        print("Mail Cancelled")
    case MFMailComposeResultSaved:
        print("Mail Saved")
    case MFMailComposeResultSent:

     //Save information to tableview
        let emailSent = emailObject(sentTo: sentEmailTo, timeSent: NSDate())
        sentEmails.append(emailSent)
        tableView.reloadData()

        print("Mail Sent")

    case MFMailComposeResultFailed:
        print("Mail sent failure: \(error)")
    default:
        break
    }

    controller.dismissViewControllerAnimated(true, completion: nil)
}

Код моей сотовой связи:

//Cell Configuration
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath)

    let row = indexPath.row

    let dateFormat = NSDateFormatter()
    dateFormat.dateStyle = .ShortStyle
    dateFormat.timeStyle = .ShortStyle
    cell.textLabel?.text = sentEmails[row].sentTo
    cell.detailTextLabel?.text = dateFormat.stringFromDate(sentEmails[row].timeSent)



    return cell
}

Ошибка:

* Не знал, что я мог сделать это, лол, вот деталь ошибки:

2 ответа

Решение

У вас есть tableView подключен в конструктор интерфейса, как это? Вам нужно определить свой источник данных, делегат и выходы для таблицы, если нет (биты "Поток благодарности" взяты из моего примера, а ваши - из вашего собственного контроллера представления).

Когда происходит сбой, вы можете нажать на строку с 1,

и он будет отображать больше информации о том, где произошел сбой (в файле ViewController). Можете ли вы опубликовать скриншот этого?

Извините, я не могу опубликовать изображение в качестве комментария к вопросу. Отредактирую ответ, как только мы узнаем больше.

Другие вопросы по тегам