В настоящее время я пытаюсь оптимизировать фоновый поток для выполнения основного потока в моем приложении.Создание инфиксного оператора с параметром
Как я делаю это так:
import Foundation
infix operator ~> {}
private let queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0)
func ~> (backgroundClosure:() ->(), mainClosure:() ->()) {
dispatch_async(queue) {
backgroundClosure()
dispatch_async(dispatch_get_main_queue(), mainClosure)
}
}
, который позволил бы мне сделать что-то вроде:
{ println("executed in background thread") } ~> { println("executed in main thread") }
сейчас ... Я хотел бы расширить эту функциональность потенциально быть в состоянии dispatch_after
в основной поток, так что, возможно, я хочу, чтобы его назовешь через 0.25 секунд или что-то в этом роде.
Есть ли способ достичь этого, передав параметр каким-то образом?
В идеале, я бы в состоянии осуществить что-то вроде backgroundClosure ~>(0.25) mainClosure
, но я сомневаюсь, что это возможно
О, это на самом деле отличная идея. Я попробую. – David