2015-04-09 15 views
5

Ich habe gerade Xcode auf seine Version 6.3 aktualisiert.Verwendung der unaufgelösten Kennung NSCalendarUnitDay

Mit Ausnahme aller Korrekturen, die ich hinsichtlich as (hauptsächlich) machen muss, habe ich einige Warnungen, die gerade erschienen sind (was seltsam ist, da es besagt, dass es seit iOS 8.0 ist).

Mein Code

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

ist jetzt zeigt eine Warnung

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

Gut, dann werde ich .DayCalendarUnit von NSCalendarUnitDay

ändern

Jetzt bekomme ich eine Fehlermeldung,:

Use of unresolved identifier 'NSCalendarUnitDay' 

Ich bin verwirrt, kann mir jemand erklären, was falsch ist und wie man es beheben kann?

Antwort

10

Verwenden Sie .CalendarUnitDay. NSCalendar ist ein natives Objective-C-Framework und die Fehlermeldungen sind nicht für schnelle.

+0

"aktualisiert" ist ein bisschen eine allgemeine Aussage. Die Fehlermeldung ist für Objective-C gedacht, wo sie korrekt ist. –

4

Ich denke, Apple dachte der Name dieser Einheiten waren nicht sinnvoll wie .DayCalendarUnit, so haben sie es so vernünftig und erklärend klingen als .CalendarUnitDay geändert.

Ähnliche Modifikationen wurden in Objective-C vorgenommen. NSDayCalendarUnit ist veraltet und Sie müssen NSCalendarUnitDay verwenden.

Das Problem in Ihrem Fall besteht darin, dass Sie eine Verwarnungswarnung von Objective-C anstelle von Swift erhalten. Wir hoffen, dass Apple es bald behebt.

Hoffnung, dass ...

0

in Xcode 7.3 Verwendung · Tag erklärt, die eine Eigenschaft von NSCalendarUnit ist struct

Verwandte Themen