Мне не хватает чего-то простого - ясно. Когда я добавляю объектное расширение класса C, он создает только файл .h - где я должен выполнять реализацию?Где реализация расширения класса?
0
A
ответ
3
Расширение класса делает то, что он говорит; он расширяет объявление класса. В отличие от категорий расширения класса могут добавлять объявления @property
, которые будут автоматически синтезированы при компиляции @implementation
класса.
Единственным требованием является то, что все объявления расширения класса объявляются либо #import
до компиляции @implementation
.
I.e. класс @implementation
- это реализация расширения.
Смежные вопросы
- 1. Eclipse RCP - реализация точки расширения. Где оценивать?
- 2. Реализация Где) метод расширения (на System.Collections.Generic.SortedList
- 3. Реализация встроенного расширения
- 4. Реализация общего расширения
- 5. Реализация ConvertAll как метод расширения
- 6. Реализация расширения Firefox и реализация плагина Chome
- 7. Ивара против расширения класса
- 8. Реализация расширения Лапласа в Фортране
- 9. Конкретная реализация базового базового класса и метода расширения
- 10. Методы расширения для расширения класса?
- 11. Реализация IEndpointBehavior для расширения привязок
- 12. Реализация толкателя внутри расширения хрома
- 13. Методы расширения и реализация GetBytes
- 14. реализация класса Triangle
- 15. Реализация коллекции общего класса
- 16. Расширения Rx: Где Parallel.ForEach?
- 17. Быстрое «где» Расширения массива
- 18. Сортировка коллекции объектов в Java, где реализация класса является окончательной
- 19. Где реализация ConcurrentQueue TryDequeue
- 20. Где реализована реализация OutputStream
- 21. Где реализация Cursor
- 22. Реализация mysqli процедурного класса
- 23. java.lang.IncompatibleClassChangeError: Реализация проблемы класса
- 24. Реализация загрузчика фильтрационного класса
- 25. Реализация шаблона класса Matrix
- 26. Реализация интерфейса класса шаблона
- 27. mongoDB: java.lang.IncompatibleClassChangeError: Реализация класса
- 28. метод расширения для расширения статического класса
- 29. Реализация класса класса с использованием класса стека
- 30. C++ реализация класса стека
Я все еще немного растерялся. Скажем, я расширяю NSObject и добавляю свойство someProperty. Могу ли я затем инициализировать SomeArray из любого NSObject, где я импортировал расширение через self.someArray? Если бы я хотел иметь метод doSomethingToTheProperty - должен ли я определять этот метод в каждой реализации, где я импортирую расширение? Или, в качестве альтернативы, я могу использовать расширение для добавления свойств, а затем категорию для создания методов для этих свойств (при условии, что я импортирую расширение). Я мог бы сделать вещи более запутанными, чем они. – JoshDG
@JoshDG, потому что вы не обеспечили реализацию NSObject, вы не можете расширять его с помощью расширения класса. вы можете рассматривать подкласс как альтернативу. – justin
Расширения класса используются в классе, который вы реализуете, чтобы разделить интерфейс класса на несколько частей. Они не полезны для классов, которые вы не реализовали. –