Привет У меня проблема с rangeOfUnit()
методом от NSCalendar
. Я получаю значение NSNotFound
, пока ожидаю значений в диапазоне < 4,6> (количество недель в одном месяце). Что действительно беспокоит меня, это зависит от платформы (не работает на iOS7). Ошибка была обнаружена, когда я изучал компонент CVCalendar. Я установил английский язык и григорианский календарь на своем iPhone 4S с iOS 7.1.1.rangeOfUnit возвращает `NSNotFound` в течение нескольких недель в месяц (ошибка iOS7)
// Range of the month.
let range = calendar.rangeOfUnit(NSCalendarUnit.WeekOfMonth, inUnit: NSCalendarUnit.Month, forDate: date)
// Should return values in range <4,6>
print("Range \(range)")
let range2 = calendar.rangeOfUnit(NSCalendarUnit.Month, inUnit: NSCalendarUnit.WeekOfMonth, forDate: date)
// Invalid range. No week contains no months.
print("Range \(range2)")
let range3 = calendar.rangeOfUnit(NSCalendarUnit.Weekday, inUnit: NSCalendarUnit.Month, forDate: date)
print("Range \(range3)")
Печатная дата консоли:
po date
2015-11-17 10:05:39 +0000
Консоль вывода на iOS9 тренажера и других устройств, не-iOS7:
Range (1,5)
Range (2147483647,2147483647)
Range (1,7)
Консоль вывода на iOS7 устройства:
Range (2147483647,2147483647)
Range (2147483647,2147483647)
Range (1,7)
Что такое UICalendar? Вы имеете в виду NSCalendar? - И в чем разница между первым и последним диапазоном? –
Простите, я имею в виду «NSCalendar» из фреймворка. – Szu