作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
你好
我有一个字典,其中包含我需要根据时间值 (NSDate) 进行排序的结构。
大多数结构体中不会包含该时间值,因此它们的时间值(NSDate?)将为 nil(可选)。
我尝试的函数在尝试 nil 值时会崩溃。我怎样才能让这个函数对值进行排序而不是在它尝试比较 nil 时崩溃?
AllBooks.SharedInstanse.browseBooks.sortInPlace(
{(
$0.0.shedueledTime!.compare(($0.1.shedueledTime)!) == NSComparisonResult.OrderedAscending
)
})
谢谢
最佳答案
这取决于你想用 nil 值做什么?
这会将它们全部放在开头:
let today = Date()
let a: [Date?] = [nil, today.addingTimeInterval(24*60*60), nil, today]
let b = a.sorted(by: { ($0 ?? Date(timeIntervalSince1970: 0)) < ($1 ?? Date(timeIntervalSince1970: 0))})
把它放到 Playground 上,你就可以玩了。要消除 nil 值,请在排序前使用平面图。
关于ios - 将 SortInPlace 与一些可选值一起使用(无),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39796705/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!