閲覧ありがとうございます。
###発生している問題・エラーメッセージ
swift
1func func(){//実行 2 3 first() 4 5 let view = viewController(_:Any)//引数を伴う 6 7 present(view) 8} 9 10func first(){ 11 //通信を伴う処理 12 second() 13} 14 15func second(){ 16 //通信を伴う処理 17}
[ first呼び出し -> 通信を伴う処理 -> second呼び出し -> 通信を伴う処理 -> let view = ... -> present(view) ]
の順で処理したいのですが、実際には
[ first呼び出し -> let view = ... -> present(view) -> 通信を伴う処理 -> second呼び出し -> 通信を伴う処理 ]
の順に処理されてしまいます。
排他制御や同期処理といったワードを見かけたのでインターネットで調べながらNSConditionやDispatch queue など色々と試してみたのですが、 うまくいきませんでした。
さらに
NSCondition Dispatch_queue スレッド などあまり理解できておりません。
特定の処理をしている間、その他の処理を停止させておくようなコードを実装したいです。
どなたかご教授の程、よろしくお願い致します。
Xcode:8.3.3
Swift:3.x.x(最新のものです)
macOS:Sierra 10.12.5
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/22 16:10