У меня есть следующий код, который использовал компиляцию в Swift 2, но не будет в Swift 4.2. Функция диапазона, возвращающая логическое значение, больше не является частью типа данных Calendar, однако она является частью типа данных NSCalendar. Есть ли способ использовать или отформатировать эту функцию, чтобы она скомпилировалась в Swift 4.2?
extension Calendar {
/**
Returns a tuple containing the start and end dates for the week that the
specified date falls in.
*/
func weekDatesForDate(date: NSDate) -> (start: NSDate, end: NSDate) {
var interval: TimeInterval = 0
var start: NSDate?
range(of: .weekOfYear, start: &start, interval: &interval, for: date as Date)
let end = start!.addingTimeInterval(interval)
return (start!, end)
}
}
Я пробовал следующее, однако функция диапазона не совпадает и не компилируется:
extension NSCalendar {
/**
Returns a tuple containing the start and end dates for the week that the
specified date falls in.
*/
func weekDatesForDate(date: NSDate) -> (start: NSDate, end: NSDate) {
var interval: TimeInterval = 0
var start: NSDate?
range(of: .weekOfYear, start: &start, interval: &interval, for: date as Date)
let end = start!.addingTimeInterval(interval)
return (start!, end)
}
}