2016-01-10 5 views
0

Я пытаюсь определить пользовательский источник ввода для CFRunLoop, я прочитал документ по программированию Threading, написанный Apple, и эта проблема является единственной, которую я не могу понять.Какова цель функции CFRunLoopScheduleCallBack в CFRunLoopSource?

Итак, я хочу знать, какова цель функции CFRunLoopScheduleCallBack или как реализовать эту функцию?

ответ

0

Этот обратный вызов вызывается, когда ваш источник добавляется в цикл выполнения. Вы можете оставить его пустым, если для этого события вам не нужен какой-либо пользовательский код.

Вы реализуете это так:

void MyCallBack (void *info, CFRunLoopRef rl, CFStringRef mode) { // code }

+0

Я знаю, что эта функция вызывается, когда добавляется пользовательский источник входного сигнала в цикле выполнения. Если я не хочу оставить эту функцию пустой, что мне делать? или какой правильный код мне нужно написать? Другими словами, если эта функция не пуста, то каков эффект этого кода в этой функции? – Sherlock

+0

Это зависит от вас, действительно - этот обратный вызов - это просто повод для запуска кода. Если вы не знаете, какой код запускать, не запускайте его. Вы можете найти пример того, что вы можете здесь сделать: https://github.com/hrchen/ExamplesForBlog/blob/19f516add0b22e4e49846aafede93de665b79686/NSThreadExample/NSThreadExample/PTInputSource.m#L57 –

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