【问题标题】:lldb optional Date it's never nillldb 可选日期它永远不会为零
【发布时间】:2020-07-09 09:34:50
【问题描述】:

有人可以解释一下为什么打印作为 nil 传递的 Date 可选时的 lldb 不打印 nil。

我声明了一个接收可选日期的函数:

override func setup() {
    super.setup()

    optionalFooTest(startDate: nil, endDate: nil)
}

func optionalFooTest(startDate: Date?, endDate: Date?) {

    if startDate == nil {

        let foo = "foo"
    }
}

行为是它会进入 if 但 lldb 当我打印 startDate 它给我一个值或当我测试它是否为 nil 时。

【问题讨论】:

  • This question 看起来相关,这表明这是 lldb 中的错误
  • 是的,这似乎是对的,让我们再等一会儿,如果没有人看到另一种可能性,我会要求你给出这个答案。
  • 尝试打印 startDate 的值然后看看它显示了什么。
  • v startDate也一样吗?
  • 这是同一个问题。这个问题会影响任何当前有效载荷是“弹性”类型的快速算法枚举。

标签: swift date llvm lldb


【解决方案1】:

正如 cmets 中提到的@Joakim Danielson,这是 here: 中提到的 lldb 中的错误,我认为问题出在 struct Date 但不是,而是 lldb 本身。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-20
    • 2015-12-02
    • 2014-08-05
    • 2016-07-13
    • 1970-01-01
    • 2012-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多