Обработка обратных вызовов

У меня есть метод в классе Objective-C. Он имеет 2 функции обратного вызова, написанные на C. Указатель класса, т.е.self передается этим функциям какvoid *, В функциях C я создаю указатель типа class и назначаюvoid * параметр. Первая функция обратного вызова выполняется успешно. Ноvoid * указатель становитсяnil во 2-й функции обратного вызова. Обратите внимание, что я не настроил указатель в первом обратном вызове, но все равно получаюnil во втором обратном вызове.

Есть идеи, что может пойти не так?

Например:

kr = IOServiceAddMatchingNotification(gNotifyPort, kIOFirstMatchNotification,
                                      matchingDict, RawDeviceAdded, NULL,
                                      &gRawAddedIter);

RawDeviceAdded(NULL, gRawAddedIter, self);

Это отлично работает. Но ниже функция получаетself какnil.

kr = IOServiceAddMatchingNotification(gNotifyPort, kIOFirstMatchNotification,
                                      matchingDict, BulkTestDeviceAdded, NULL,
                                      &gBulkTestAddedIter);

BulkTestDeviceAdded(NULL, gBulkTestAddedIter, self);

Ответы на вопрос(3)

Ваш ответ на вопрос