2

NSCalendariOS7で導入された機能があると聞きました。

ドキュメントを見て、それを見つけることができませんでした。OS Xのドキュメントにもありません。

関数は、- (BOOL)isDate:(NSDate *)date1 equalToDate:(NSDate *)date2 toUnitGranularity:(NSCalendarUnit)unitつまり、同じ日/同じ週/月のこれらの2つの日付などです...

ただし、Xcode 5で使用しようとすると、オートコンプリートは赤い取り消し線で表示され、実際に使用するとこのエラーが発生します...

ここに画像の説明を入力

機能が明らかにそこにあるのは奇妙ですが、私はそれを使用できません。

なぜこれが起こっているのか、誰かが光を当てることができますか?

4

2 に答える 2

10

残念ながら、iOS では利用できず、OS X 10.9 でのみ利用できます。いつでもrdar://14995171を騙して、iOS にもそれが必要であることを Apple に伝えることができます。

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 で「利用できない」ことを意味すると評価されます。

于 2013-09-25T12:52:49.073 に答える
6

その方法をどこで知りましたか?iOS 7 のベータ版でこのメソッドが削除された可能性があります。

これはプライベート API です: __NSCFCalendar.h

于 2013-09-25T12:47:43.720 に答える