Нет, вы не можете этого сделать.
Иерархии классов Objective-C и C ++ разделены. В контексте C ++ self
не определено, но определено this
. В контексте Objective C this
не определено, а self
равно.
Кроме того, addObserver
принимает параметр id
. Экземпляры объектов C ++ не рассматриваются как типы id
, поэтому даже если вы измените свой код на this
вместо self
, он не скомпилируется.
См. Ограничения C ++ в руководстве по языку программирования Objective-C.
В качестве обходного пути, создайте класс Objectve-C, который имеет экземпляр объекта C ++, к которому вы хотите, чтобы уведомление направлялось, и просто вызовите метод C ++, когда объект Objective-C получит уведомление.