2016-09-27 8 views
0

私はこの機能を作成していないことに注意してください。この機能は作成者によって更新されていないライブラリの一部です。誰かがどのように3.0を迅速に機能を切り替えるようにアドバイスをお願いしますか?スイフトでswift 3.0構文の再フォーマット機能

+0

メソッドが動作している場合は、メソッドからオブジェクトの型を削除します。 http://stackoverflow.com/a/39526497/3463712を参照してください。 – Max

答えて

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

です。

関連する問題