2016-07-17 5 views
0

Redis(pub/sub)に接続するために更新しているObjective-C/Swiftコンソールアプリケーションがあります。ただし、アプリケーションはRedisサーバーに接続する前に終了します。Redisに接続中に決して終了しないObjective-Cコンソールアプリ

バックグラウンドスレッド(NSOperationQueue)をブロックせずにアプリケーション(メインスレッド)を本質的に永遠に実行させるにはどうすればよいですか?

私はC#で同様のものを開発し、 "Console.Read()"関数を使用して本質的に永遠に待っていました。私はこのプログラムで "scanf(...)"と同じアプローチを試みましたが、それはバックグラウンドスレッドの実行をブロックするようです。

この質問はC#のConsole App Terminating Before async Call Completionでした。 Objective-c/Swiftに類似したものはありますか?

すべての入力をいただければ幸いです。

ありがとうございます!

答えて

0
[[NSRunLoop currentRunLoop] run]; 

メインスレッドで行います。それは決して戻ることはありません。

実行ループのコンテキストで呼び出すコードがある場合は、dispatch_after()またはperformAfter:...またはその変種を使用してください。

+0

素晴らしい!それは魅力のように機能します。ありがとう! – thiesdiggity

関連する問題