Objective-C 连接到 Redis 时永远不会终止的控制台应用程序
Objective-C console app that will never terminate while connected to Redis
我有一个 Objective-C/Swift 控制台应用程序,我正在更新它以连接到 Redis (pub/sub)。但是,应用程序甚至在连接到 Redis 服务器之前就退出了。
我怎样才能让应用程序(主线程)基本上运行永远不阻塞后台线程(NSOperationQueue)?
我在 C# 中开发了类似的东西,并使用 "Console.Read()" 函数基本上永远等待。我尝试对 "scanf(...)" 这个程序使用相同的方法,但这似乎会阻止后台线程的执行。
我找到了这个问题,Console App Terminating Before async Call Completion 用于 C#。 Objective-c/Swift有没有类似的东西?
如有任何意见,我们将不胜感激。
谢谢!
[[NSRunLoop currentRunLoop] run];
在您的主线程上执行此操作。永远不会 return.
如果您有一些代码要在 运行 循环的上下文中调用,请使用 dispatch_after()
或 performAfter:...
或其中的变体。
我有一个 Objective-C/Swift 控制台应用程序,我正在更新它以连接到 Redis (pub/sub)。但是,应用程序甚至在连接到 Redis 服务器之前就退出了。
我怎样才能让应用程序(主线程)基本上运行永远不阻塞后台线程(NSOperationQueue)?
我在 C# 中开发了类似的东西,并使用 "Console.Read()" 函数基本上永远等待。我尝试对 "scanf(...)" 这个程序使用相同的方法,但这似乎会阻止后台线程的执行。
我找到了这个问题,Console App Terminating Before async Call Completion 用于 C#。 Objective-c/Swift有没有类似的东西?
如有任何意见,我们将不胜感激。
谢谢!
[[NSRunLoop currentRunLoop] run];
在您的主线程上执行此操作。永远不会 return.
如果您有一些代码要在 运行 循环的上下文中调用,请使用 dispatch_after()
或 performAfter:...
或其中的变体。