0

我是 swift 新手,我正在尝试传递一个文本标签值,一个使用 DateFormatter 转换为字符串的日期。这是我的逻辑线程:

我首先在 Playground 中测试了该方法:

let currentDateTime1 = Date()  // "Feb 23, 2018 at 9:09 AM"

let dateFormatter = DateFormatter()
dateFormatter.timeStyle = .none
dateFormatter.dateStyle = .short

dateFormatter.string(from: Date()) // "2/23/18"
dateFormatter.string(from: currentDateTime1) // "2/23/18"

成功 !!这是我的标签所需的格式

然而,在调试我的代码后,我发现这个逻辑从这个代码块返回 nil:

//Event.swift

    class Event {

        var title: String = "Hello"
        var time = Date()
        init(title: String, time: Date) {
            self.title = title
            self.time = time
        }

        var events = [Event]()

    // TableViewController.swift

    class TableViewController: UITableViewController {

    let dateFormatter = DateFormatter()
    var events = [Event]()

    func setDateFormatter() {
        dateFormatter.timeStyle = .none
        dateFormatter.dateStyle = .short

    }

    }

         override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
                let cell = tableView.dequeueReusableCell(withIdentifier: "EventCell")!

                let event = events[indexPath.row]
                cell.textLabel?.text = event.title
                cell.detailTextLabel?.text = dateFormatter.string(from: event.time)
                return cell
            }

在调试窗口中我运行:

(lldb) po event.title
"Swift 1.0"

(lldb) po event.time
▿ 2018-02-23 14:55:08 +0000
  - timeIntervalSinceReferenceDate : 541090508.07748997

(lldb) po dateFormatter.string(from: event.time)
""

我被困在这里一段时间试图修补和研究这个问题无济于事。

有人可以帮忙吗???

4

0 回答 0