gpt4 book ai didi

iOS 应用程序在 calendar.dateComponents 上崩溃

转载 作者:行者123 更新时间:2023-12-02 08:36:46 24 4
gpt4 key购买 nike

我在这行代码上发生了崩溃,但我不完全确定原因。

let difference = calendar.dateComponents([.day, .hour, .minute], from: start, to: end!)

这种情况仅发生在某些设备上,并且不会一直发生。

完整代码:

    let start = Date()
let formatter = DateFormatter()
formatter.dateFormat = "MM/dd/yy hh:mm a"
let end = formatter.date(from: dateString)

let calendar = Calendar.current
let difference = calendar.dateComponents([.day, .hour, .minute], from: start, to: end!)

dateString5/3/17 7:00 PM

什么可能导致这个问题?

最佳答案

当您运行的设备处于 24 小时时钟模式时,问题出在以下两行代码上。

formatter.dateFormat = "MM/dd/yy hh:mm a"
let end = formatter.date(from: dateString)

在 24 小时模式下,第二行返回日期 nil,正如 @rmaddy 在上面的注释中警告的那样,强制使用可选值并不是一个好主意,因为这可能会导致运行时崩溃:)

更新:我想检查代码以确保在添加此代码之前崩溃消失,但正如 @LeoDabus 所说,添加以下行应该可以修复崩溃:

formatter.locale = Locale(identifier: "en_US_POSIX")

关于iOS 应用程序在 calendar.dateComponents 上崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43130560/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com