Swift DateFormatter无法读取类属性,返回空字符串

时间:2018-02-23 15:54:22

标签: swift dateformatter

我是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)
""

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

有人可以帮忙吗???

0 个答案:

没有答案
相关问题