swift - 我怎样才能避免这种情况下的强制取消变形?
问题描述
如何避免在下面的代码中强制展开?
self.array = self.array.sorted(by: { Date(timeIntervalSince1970: ($0?.event?.dateRecorded)!) > Date(timeIntervalSince1970: ($1?.event?.dateRecorded)!) })
解决方案
使用 nil-coalescing 将nil
时间戳替换为某个默认值,例如远在过去的时间戳:
let past = -TimeInterval.greatestFiniteMagnitude
self.array.sort(by: {
$0.event?.dateRecorded ?? past > $1.event?.dateRecorded ?? past
})
如上所述,不需要将时间戳与Date
值进行比较,可以直接比较数字时间戳。
推荐阅读
- grafana - 计算列中值的实例以显示在饼图中
- python - 当变量满足所需条件时无法打印输出
- nuget-package - dotnet 将多个项目打包成一个包
- aws-lambda - Lambda 代理集成 queryStringParameters 特殊字符
- arrays - Golang 中的“按值切片”和“底层数组”如何表现?
- c# - 使用 .mapuniquejsonkey 时,@context.user.identity.name 为空
- docker - 如何使用 NodeJS 和 docker-compose 连接到 ArangoDB?
- flutter - Flutter web - 当鼠标悬停在 iframe 的 HtmlElementView 小部件上时,父小部件不滚动
- bash - 在多个服务上运行 docker compose up 时,项目名称不作为前缀
- azure - 如何使用 GitHub 工作流操作将多个分支部署到 Azure 静态 Web 应用程序?