Мне интересно, можем ли мы использовать категорию Objective-C для расширения класса C++?Можно ли использовать категорию Objective-C для расширения класса C++?
ответ
Нет, вы не можете: категории/расширение класса - это механизмы, которые полагаются на время выполнения Objective-C. Однако вы можете обернуть свой код на C++ в классе Objective-C++, и вы можете расширить его с помощью категорий (хотя я никогда не пробовал это)
Не напрямую. Но ваш Objective-C класс может легко скомпоновать класс C++ (см. this article для некоторых методов).
Objective-C и C++ реализуют классы совершенно по-другому, поэтому нет, вы не можете использовать Objective-C для добавления методов в класс C++. Однако Objective-C и C++ играют очень хорошо вместе. Вы можете вызывать методы C++ из кода Objective-C и наоборот, и вы можете даже смешивать источник Objective-C и источник C++ в том же файле; это называется Objective-C++.
Другие ответы упоминают об упаковке вашего класса C++ в классе Objective-C. Для этого вы должны создать класс Objective-C, который имеет переменную экземпляра, которая указывает на экземпляр рассматриваемого класса C++. Затем вы могли бы создать методы для класса Objective-C, которые параллельны интерфейсу C++, и каждый из этих методов просто вызывает свой метод-партнера на объекте C++.
- 1. Как создать категорию для расширения CGPaths?
- 2. Можно ли использовать скрипты расширения Chrome для расширения window.opener?
- 3. Можно ли использовать сигнал внутри класса C++?
- 4. Можно ли использовать категорию для «начальной загрузки» связанных категорий?
- 5. Можно ли использовать объявление 'using' для функции статического класса [C++]?
- 6. Можно ли поставить ObjectiveC @selector в NSDictionary?
- 7. Можно ли использовать методы расширения C# в статическом контексте?
- 8. Можно ли использовать расширения PECL в HipHop?
- 9. DotNetBrowser: Можно ли использовать расширения браузера?
- 10. Как можно использовать использовать свойство метод расширения класса
- 11. Можно ли добавить функцию статического расширения для класса Java?
- 12. Как использовать категорию класса Objective C в Swift?
- 13. Можно ли использовать скрипт содержимого расширения Chrome для всех вкладок?
- 14. Можно ли использовать текстовое поле для настроек расширения Safari?
- 15. Можно ли использовать угловую арию для расширения арии?
- 16. Можно ли добавить категорию в мета-класс Objective-C?
- 17. Можно ли переименовать категорию Outlook программно?
- 18. Расширения класса Objective-C
- 19. Связывание ObjectiveC класс для C# проблемы
- 20. Можно ли «расширить» или повторно использовать точку расширения Eclipse?
- 21. Методы расширения для расширения класса?
- 22. метод расширения для родового класса
- 23. Можно ли указать категорию событий для Windows EventLogs в коде?
- 24. методы Переопределение класса в ObjectiveC
- 25. Можно ли использовать библиотеки из класса «Ключи»?
- 26. API веб-магазина Chrome: можно ли установить категорию через api?
- 27. метод расширения для расширения статического класса
- 28. Можно ли написать методы расширения для консоли?
- 29. Тестирование загрузки класса в ObjectiveC
- 30. Можно ли использовать AutoMapper для заполнения свойств базового класса?