2015-04-09 17 views
5

Tôi vừa cập nhật Xcode lên phiên bản 6.3 của nó.Sử dụng số nhận dạng chưa được giải quyết NSCalendarUnitDay

Ngoại trừ tất cả các bản sửa lỗi tôi phải thực hiện liên quan đến as (chủ yếu), tôi có một số cảnh báo vừa xuất hiện (thật kỳ lạ vì nó tuyên bố là từ iOS 8.0).

Mã của tôi

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

tại là hiển thị cảnh báo

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

Mỹ, sau đó tôi sẽ thay đổi .DayCalendarUnit bởi NSCalendarUnitDay

Bây giờ tôi nhận được một lỗi nói:

Use of unresolved identifier 'NSCalendarUnitDay' 

Tôi nhầm lẫn, ai đó có thể giải thích cho tôi điều gì sai và cách khắc phục?

Trả lời

10

Sử dụng .CalendarUnitDay. NSCalendar là một khung Objective-C nguyên gốc và các thông báo lỗi không phải là nhanh chóng.

+0

"cập nhật" là loại một tuyên bố rộng rãi. Thông báo lỗi dành cho Objective-C, nơi nó đúng. –

4

Tôi nghĩ Apple nghĩ tên của những đơn vị đó không có ý nghĩa như .DayCalendarUnit, vì vậy họ đã sửa đổi nó thành âm thanh hợp lý và dễ hiểu hơn .CalendarUnitDay.

Sửa đổi tương tự đã được thực hiện trong Mục tiêu-C. NSDayCalendarUnit không còn được dùng nữa và bạn phải sử dụng NSCalendarUnitDay.

Sự cố trong trường hợp của bạn là bạn đang nhận cảnh báo không dùng nữa của Objective-C thay vì Swift. Chúng tôi hy vọng Apple sẽ sớm sửa lỗi này.

Hy vọng rằng sẽ giải thích ...

0

trong Xcode 7.3 sử dụng .Day mà là một tài sản của NSCalendarUnit struct

Các vấn đề liên quan