2017-06-27 8 views
1

私は最新のSwiftバージョンにアップグレードしようとしているプロジェクトのコードのこの部分に 'タイプが式があいまいです'と表示されています。私はそれを把握していないようだ。私は別のものを試しましたが、それを働かせることはできません。Swift3で文脈のない式のタイプがあいまいです

問題は、この行の構文である:コンパイラは

DsipatchTime.now()

への追加(+)を指摘され

var sec = Int64(0.001 * Double(NSEC_PER_SEC)) 
let time = DispatchTime.now() + .seconds(sec) <---- Error here 
DispatchQueue.main.asyncAfter(deadline: time) 

the

.seco NDS(秒)

var sec = Int(0.001 * Double(NSEC_PER_SEC))

答えて

3

DispatchTimeIntervalcase .seconds(Int)です。したがって はInt64から作成できません。

Int64(0.001 * Double(NSEC_PER_SEC)) は、あなたが(それが約277時間になります)待ちたい 秒単位の時間はおそらくないである、1000000です。

let sec = 0.001 
let time = DispatchTime.now() + sec 

あなたは.milli/micro/nanoseconds場合、例えば:

let milliseconds = 1 
let time = DispatchTime.now() + .milliseconds(milliseconds) 

それとも単に秒で金額を指定Doubleを追加してを使用して秒の小数 とディスパッチ時間間隔を作成することができます

0

変更ライン

var sec = Int64(0.001 * Double(NSEC_PER_SEC))

DispatchTimeIntervalIntを期待するので、これが必要です。

関連する問題