Почему мы не можем использовать метод init
в NSCalendar *cal = [[NSCalendar alloc] init];
, так как init
- это метод экземпляра, который имеет каждый класс? Xcode дает сообщение: «инициализация» был явно помечен как недоступные здесьПочему мы не можем использовать метод init в NSCalendar * cal = [[NSCalendar alloc] init];
0
A
ответ
1
NSCalendar должен быть начат как это:
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
без указания какого вида календаря вашей покупки, то экземпляр будет бесполезный. Именно так инфраструктура не позволяет вам инициализировать бесполезные объекты.
+0
Это помогло, спасибо. Я использую Xcode 7.3.1, он говорит: «NSGregorianCalendar» устарел: сначала устарел в OS X 10.10 - Вместо этого используйте NSCalendarIdentifierGregorian –
Смежные вопросы
- 1. Когда использовать alloc init
- 2. NSCalendar currentCalendar не работает
- 3. Часовой пояс не установлен на NSCalendar
- 4. Alloc INIT релиз
- 5. - [NSCalendar dateFromComponents:] сбой SIGABRT
- 6. Проблема NSCalendar с эпохой BC.
- 7. NSCalendar не подходит для GMT
- 8. отказ Alloc и Init
- 9. Подкласс NSCalendar?
- 10. NSArray alloc и init
- 11. ScanditSDKBarcodePicker alloc-init crash
- 12. NSDate/NSCalendar Issue
- 13. Метод класса удобства vs alloc init
- 14. Alloc/init в пользовательском UITableViewCell
- 15. NSCalendar [_NSCopyOnWriteCalendarWrapper component: fromDate:]: error
- 16. alloc + механизм использования памяти init
- 17. NSMutableDictionary, Alloc, INIT и reiniting
- 18. Сложность понимания Alloc и init
- 19. NSDate по dateFromComponent NSCalendar в
- 20. UIImagePickerController сбой при alloc/init
- 21. NSDateComponents/утечка NSCalendar
- 22. Почему мы можем использовать экземпляр класса custom/foundation в реализации метода, не выполнив сначала alloc и init для экземпляра?
- 23. NSCalendar возвращает nil и 0 для всех значений?
- 24. Получите первый день в месяце от NSCalendar
- 25. NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
- 26. NSCalendar первый день недели
- 27. alloc init не загружает компонент в него
- 28. NSCalendar получение разницы в день неверно
- 29. BNRPerson * mikey = [[BNREmployee alloc] init];
- 30. Alloc и init in Cocoa
Apple отметила это так, потому что 'NSCalendar' имеет назначенный инициализатор, который принимает идентификатор календаря. Они не хотят, чтобы вы использовали 'init', потому что он не будет правильно инициализирован. – Avi