5

Xcode を 6.3 バージョンに更新しました。

(主に)関連して行わなければならないすべての修正を除いて、as表示されたばかりの警告がいくつかあります(iOS 8.0以降であると述べているため、奇妙です)。

私のコード

NSCalendar.currentCalendar().compareDate(self, toDate: date, toUnitGranularity: .DayCalendarUnit) == .OrderedAscending

警告が表示されるようになりました

'DayCalendarUnit' was deprecated in iOS version 8.0: Use NSCalendarUnitDay instead

.DayCalendarUnitよし、じゃあ着替えるよNSCalendarUnitDay

今、私は次のようなエラーを受け取ります:

Use of unresolved identifier 'NSCalendarUnitDay'

私は混乱しています、誰かが私に何が間違っていて、それを修正する方法を説明できますか?

4

3 に答える 3

10

を使用し.CalendarUnitDayます。NSCalendar はネイティブの Objective-C フレームワークであり、エラー メッセージは迅速ではありません。

于 2015-04-09T04:49:11.863 に答える
4

Apple は、これらの単位の名前は .DayCalendarUnit のように意味がないと考えていたので、.CalendarUnitDay のようにより適切で説明的に聞こえるように変更したと思います。

同様の変更が Objective-C でも行われています。NSDayCalendarUnit は非推奨であり、NSCalendarUnitDay を使用する必要があります。

あなたの場合の問題は、Swift ではなく Objective-C の非推奨警告を受け取っていることです。Appleがすぐに修正してくれることを願っています。

それが説明することを願っています...

于 2015-04-09T04:57:29.683 に答える
0

Xcode 7.3 では、NSCalendarUnit 構造体のプロパティである .Day を使用します

于 2016-05-02T13:55:51.350 に答える