#c #objective-c #interface #observer-pattern
#c #objective-c #интерфейс #observer-pattern
Вопрос:
Я пытаюсь реализовать оболочки Objective C для определенных классов C . Один из этих классов реализовал шаблон наблюдателя и требует, чтобы наблюдатель принадлежал к определенному типу C (определенному в интерфейсе).
Я Гуглил весь день, но не смог найти ничего, связанного с этой проблемой. Как я могу подписаться на этот шаблон наблюдателя C с помощью класса Objective C? Для этого нужно было бы использовать наследование, но это, очевидно, не может работать, поскольку оболочка является Objective C и не может наследовать от интерфейса C .
Комментарии:
1. Вы не можете. Objective C и C несовместимы друг с другом. Попробуйте Objective C .
2. Не могли бы вы добавить пример использования вашего наблюдателя?
Ответ №1:
Почему наблюдателю нужно наследовать от вашего класса obj-c? Разве экземпляры класса objective-c не могут просто иметь наблюдателя, который перенаправляет на объект objective-c?
Ответ №2:
Для этого нужно было бы использовать наследование, но это, очевидно, не может работать, поскольку оболочка является Objective C и не может наследовать от интерфейса C
Это неверное утверждение, обертки обертывают, они не наследуются. Если вам нужно использовать C , вам нужно использовать Objective-C , создав файл с .mm
расширением.
Комментарии:
1. > обертки переносят, они не наследуют True, поэтому, похоже, мне нужно будет создать другой класс C , который наследуется от интерфейса, и обернуть его?
2. Да, если необходимо наследование, вам нужно будет наследовать с другим классом C , а затем, если вам нужна оболочка Objective-C, которая будет вызывать унаследованный класс.