Я пытаюсь узнать, как отправлять вычисления на фоновый поток и, в конечном итоге, обновлять интерфейс. Когда я пытаюсь сделать это в существующем проекте с Картами Google, «фон», за которым следует «главный», печатается один раз. Больше не печатает, как если бы таймер не повторялся.Timer Not Repeating (Grand Central Dispatch)
Кроме того, когда я создаю пустое приложение и добавляю этот код, ничего не печатает вообще.
let queue = dispatch_queue_create("myTimer", nil);
let timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue);
dispatch_source_set_timer(timer, DISPATCH_TIME_NOW, 1 * NSEC_PER_SEC, 1 * NSEC_PER_SEC);
dispatch_source_set_event_handler(timer) {
println("background")
dispatch_async(dispatch_get_main_queue(), { println("main") })
}
dispatch_resume(timer)
Попробуйте назначить значения таймера и очереди на мой вид карты. Тот же результат. Любые советы о том, как это сделать? – user3751185
Мое единственное предположение (из того, что вы здесь сказали) заключается в том, что ваш вид карты * также * уходит в какой-то момент. Я добавил тривиальный пример, когда очередь и таймер принадлежат AppDelegate, и он работает так, как ожидалось. – ipmcc