0
私はこの機能を作成していないことに注意してください。この機能は作成者によって更新されていないライブラリの一部です。誰かがどのように3.0を迅速に機能を切り替えるようにアドバイスをお願いしますか?スイフトでswift 3.0構文の再フォーマット機能
私はこの機能を作成していないことに注意してください。この機能は作成者によって更新されていないライブラリの一部です。誰かがどのように3.0を迅速に機能を切り替えるようにアドバイスをお願いしますか?スイフトでswift 3.0構文の再フォーマット機能
func debounce(delay:TimeInterval, queue:DispatchQueue, action: @escaping (()->())) ->()->() {
lastFireTime = dispatch_time(DISPATCH_TIME_NOW,0)
dispatch_after(dispatch_time(DISPATCH_TIME_NOW,dispatchDelay),queue) {
let now = dispatch_time(DISPATCH_TIME_NOW,0)
let when = dispatch_time(lastFireTime, dispatchDelay)
if now >= when {
action()
}
}
}
}
CのAPI
dispatch_time_t
dispatch_time(dispatch_time_t base, int64_t offset);
void
dispatch_after(dispatch_time_t when, dispatch_queue_t queue,
void (^block)(void));
、同じ機能は、オブジェクト指向フレームワークは、C APIの上に構築いいですディスパッチ・フレームワーク(インポートディスパッチ)を介して入手可能です。次のスニペットをプレイグラウンドで試してから、次にAppleのdocumentationをチェックしてください。初心者のための
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
import Foundation
import Dispatch
let queue = DispatchQueue(label: "my queue")
// call the block asynchronously after some time
print(1, "now is", Date())
queue.asyncAfter(deadline: .now() + .seconds(5)) {
print()
print(3, "now is", Date())
PlaygroundPage.current.finishExecution()
}
print(2, "now is", Date())
良い出発点は、私はあなたが非常に圧縮された形で多くの情報をA quick look at Grand Central Dispatch and Swift 3を読むことをお勧めhere
です。
メソッドが動作している場合は、メソッドからオブジェクトの型を削除します。 http://stackoverflow.com/a/39526497/3463712を参照してください。 – Max