2015-04-09 12 views
5

Właśnie zaktualizowałem Xcode do wersji 6.3.Użycie nierozwiązanego identyfikatora NSCalendarUnitDay

Oprócz wszystkich poprawek, które muszę wprowadzić w odniesieniu do as (głównie), mam pewne ostrzeżenia, które właśnie pojawiły się (co jest dziwne, ponieważ stwierdza, że ​​jest od iOS 8.0).

Mój kod

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

jest teraz pokazuje się ostrzeżenie

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

dobrze, to będę zmieniać .DayCalendarUnit przez NSCalendarUnitDay

Teraz pojawia się błąd mówiąc:

Use of unresolved identifier 'NSCalendarUnitDay' 

Jestem zagubiony, czy ktoś może mi wyjaśnić, co jest nie tak i jak to naprawić?

Odpowiedz

10

Użyj .CalendarUnitDay. NSCalendar jest natywną strukturą Objective-C, a komunikaty o błędach nie są szybkie.

+0

"zaktualizowane" to rodzaj szerokiego oświadczeniu. Komunikat o błędzie jest przeznaczony dla Celu C, jeśli jest poprawny. –

4

Myślę, że Apple myślał, że nazwa tych jednostek nie ma znaczenia jak .DayCalendarUnit, więc zmienili to tak, aby brzmiał bardziej sensownie i objaśniająco jak .CalendarUnitDay.

Podobne modyfikacje zostały wykonane w Objective-C. NSDayCalendarUnit jest przestarzałe i musisz użyć NSCalendarUnitDay.

Problem w twoim przypadku polega na tym, że otrzymujesz ostrzeżenie o wycofaniu z Celu C zamiast Swift. Mamy nadzieję, że Apple wkrótce to naprawi.

Nadzieja, która wyjaśnia ...

0

w Xcode 7.3 użytku .Day który jest własnością NSCalendarUnit struct

Powiązane problemy