C-обратный вызов без указателя класса - PullRequest
1 голос
/ 05 марта 2011

В моем приложении я использую API JavaScriptCore для установки функции JS в контексте WebView с обратным вызовом C в моем классе Какао.Теперь я не могу передать этому обратному вызову указатель userData / refcon, чтобы узнать, к какому классу принадлежит обратный вызов.

Есть ли способ решить эту проблему без передачи указателя?Похоже, глобальные переменные не работают, поскольку они перезаписываются другими экземплярами классов.

1 Ответ

1 голос
/ 05 марта 2011

Если глобальный не работает (из-за множественных / параллельных вызовов, скорее всего), то вам нужна какая-то контекстная информация.

Если API возвращает какой-либо уникальный идентификатор - session #, выделенную структуру, что угодно - вы можете настроить NSMapTable, который отображает между этим идентификатором и любым циклом Objective-C, который вам может понадобиться.

...