2017-06-19 8 views
0

特定の日付にコードを実行しようとしています。私はパーフェクトscript.`即時非同期コードの実行が終了する前に停止します

import Foundation 



let timeInterval: TimeInterval = 10 


let future = Date().addingTimeInterval(timeInterval) 

print("start") 
    while true { 
     if Date() > future { 
      print("stop") 
      break 
     } 
} 

問題は、それが「停止」に印刷するための時間を持っていた前に、プログラムが終了したことにある中で使用されるように、このコードSIの目的としてNSTimerを使用することはできません。また、ループの中で何かを印刷しようとすると、プログラムが終了するまで数回印刷されます。どのようにそれを行う上の任意のアイデアですか?

ありがとうございました!

答えて

1

while trueアイデアは、あなたがグランドセントラル派遣代わり

print("start") 
DispatchQueue.main.asyncAfter(deadline: .now() + 10) { 
    print("stop") 
} 
+0

感謝を使用する必要があり、非常に悪いですが、それは働きました! –

関連する問題