2

送信したメールのメールと時刻をテーブル ビューに保存しようとしています。メールは正常に送信されますが、送信ボタンをクリックするたびにこのエラー (エラー: オプションの値のラップ解除中に予期せず nil が見つかりました) が表示されます。コードのどこにエラーがあるのか​​ わかりません。

送信ボタンのコード:

//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
}

エラー:

ここに画像の説明を入力

*これができるとは知りませんでした笑、エラーの詳細は次のとおりです。

ここに画像の説明を入力

4

2 に答える 2

0

このようにインターフェースビルダーでtableViewを接続していますか?そうでない場合は、テーブルのデータソース、デリゲート、およびアウトレットを定義する必要があります(「感謝ストリーム」ビットは私の例からのものですが、あなたのものは独自のView Controllerからのものになります)。 ここに画像の説明を入力

于 2016-08-24T18:15:20.273 に答える