Я пытаюсь сохранить электронную почту и время отправленного мной электронного сообщения в виде таблицы. Письма отправляются штрафом, но я получаю эту ошибку (ошибка: неожиданно обнаружена нуль при развертывании необязательного значения) всякий раз, когда я нажимаю кнопку отправки. Я не уверен, где ошибка в моем коде.MailComposeViewController Ошибка: неожиданно найдено nil
Код для кнопки отправки:
//SentEmails Array
var sentEmails = [emailObject]()
//Default email
var sentEmailTo = "[email protected]"
//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
}
Ошибка:
* Не знаю, что я мог бы сделать это lol, вот деталь ошибки:
В какой строке отладчик указывает, когда он сработает? – pbush25
@ pbush25 он не указывает ни на что, а на страницу, плохо публикует его через секунду. – art3mis
Не могли бы вы опубликовать скриншот, где он указывает на ваш ViewController? Когда это снова произойдет, откройте класс ViewController и сделайте снимок экрана – hybridcattt