我听说过iOS7中引入的NSCalendar
上的一个函数。
看了一下文档但找不到它。也不在OS X文档中。
该功能为- (BOOL)isDate:(NSDate *)date1 equalToDate:(NSDate *)date2 toUnitGranularity:(NSCalendarUnit)unit
,即同一天/同一周/月内的这两个日期等等......
然而,当我尝试在Xcode 5中使用它时.AutoComplete显示红色触发,然后当我实际使用它时,我收到此错误...
很奇怪,因为功能很明显,我只是无法使用它。
有人能说清楚为什么会这样吗?
答案 0 :(得分:10)
不幸的是,它不适用于iOS,仅适用于OS X 10.9。你总是可以通过rdar://14995171来告诉Apple你也想要它用于iOS。
如果您在iOS 7 SDK中查看NSCalendar.h,您会看到这些方法被标记为自__NSCALENDAR_COND_IOS_7_0
以来可用,如果您查看同一文件的顶部,则定义为
#if !defined(__NSCALENDAR_COND_IOS_4_0)
#if NS_ENABLE_CALENDAR_NEW_API
#define __NSCALENDAR_COND_IOS_4_0 4_0
#define __NSCALENDAR_COND_IOS_5_0 5_0
#define __NSCALENDAR_COND_IOS_6_0 6_0
#define __NSCALENDAR_COND_IOS_7_0 7_0
#else
#define __NSCALENDAR_COND_IOS_4_0 NA
#define __NSCALENDAR_COND_IOS_5_0 NA
#define __NSCALENDAR_COND_IOS_6_0 NA
#define __NSCALENDAR_COND_IOS_7_0 NA
#endif
#endif
目前评估为NA
,意味着这些方法对于iOS来说“不可用”。
答案 1 :(得分:6)
你在哪里听说过这种方法?在iOS 7的测试版中,该方法可能已被删除。
这是私有API:__NSCFCalendar.h