在iOS应用中可以执行以下操作:
我已经搜索过,找不到任何可以让我这样做的东西,但我有一种感觉,我以前见过的是我以前合作过的程序员。
这样做的动机如下:
我有两种方法可以解决这个问题:
这两种解决方案都可以,但是1.使测试变得非常复杂,并且2.更改了我正在编写测试的消息系统,因此必须仔细考虑。
考虑什么是performSelectorOnMainThread:withObject:waitUntilDone:是的,似乎我要求的功能应该是可能的(因为它在很多方面类似),但它可能吗?
答案 0 :(得分:4)
这可能就是你要找的东西:
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate date]];
这将执行主运行循环的一次迭代,然后从那里继续。这有点滥用运行循环应该工作的方式,所以你可能想要考虑一个不同的设计 - 暂停主线程几乎不是一个好主意。也许在单独的线程中做你需要做的事情,让线程在完成时回调委托方法,或者使用通知。
答案 1 :(得分:0)
为此目的使用多线程。主线程上的SENDER,第二个线程上的WATCHER,允许您在发送之前开始观看的内容。