在Mojave上发布Xcode 11,11.1的日期-调试器矛盾

时间:2019-10-31 09:26:36

标签: swift xcode xcode11 xcode11.1

在Xcode11中甚至在Xcode11.1上处理日期时遇到问题。调试器(在某种程度上)自相矛盾。

enter image description here

您看到的是,当我打印selectedRanges的详细信息(这是具有两个属性的DateRanges的列表:)

    struct DateRange: Equatable {
        var start: Date
        var end: Date?
    }

它向我显示了存储的正确值,但是当我执行以下操作时:

 let a = selectedRanges.filter({
        guard $0.isComplete() == true else { return false }
        guard !date.isBetween($0.start, and: $0.end!) else { return false }
        guard let firstSelectedRange = selectedRanges.first, firstSelectedRange.isComplete() == false else { return false }
       *guard firstSelectedRange.start > $0.start && date < $0.start else { return false }

        return true
    })

并打印firstSelecteRange.end,我得到一个可选值,当用!= nil测试时,它返回一个值,当用.isComplete()测试时,返回另一个值(isComplete方法在图片)。

所有打印均已在代码的*行上完成。

很奇怪,在调试器控制台中,有时在没有的范围内没有显示。 enter image description here

我的问题是:这是Xcode上的问题,还是我错过了什么?

//编辑1:为p命令添加了日志: enter image description here

0 个答案:

没有答案