2013-08-05 3 views

ответ

4

Нет, вы не можете: категории/расширение класса - это механизмы, которые полагаются на время выполнения Objective-C. Однако вы можете обернуть свой код на C++ в классе Objective-C++, и вы можете расширить его с помощью категорий (хотя я никогда не пробовал это)

0

Не напрямую. Но ваш Objective-C класс может легко скомпоновать класс C++ (см. this article для некоторых методов).

1

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++.

Смежные вопросы