我使用Xcode 6 beta 4和iOS 8模拟器时遇到问题.每次我尝试运行我的项目时,Xcode都会向我发送"Connection lost"错误.我试图删除并创建新的模拟器,为Xcode 6设置命令行工具,但仍然没有发生任何事情.我该怎么办?

我想知道如果我从viewDidLoad方法在主队列中异步调用某些内容会发生什么.一个小实验向我展示了这些结果:
这段代码:
override func viewDidLoad() {
super.viewDidLoad()
firstSelector()
DispatchQueue.main.async {
self.secondSelector()
}
for i in 1...10 {
print(i)
}
thirdSelector()
}
func firstSelector() {
print("First selector fired")
}
func secondSelector() {
print("Second selector fired")
}
func thirdSelector() {
print("Third selector fired")
}
Run Code Online (Sandbox Code Playgroud)
给出这些印刷品:
First selector fired
1
2
3
4
5
6
7
8
9
10
Third selector fired
Second selector fired
Run Code Online (Sandbox Code Playgroud)
所以最后一个被调用的方法是secondSelector.我认为这是因为主队列是串行的,当我异步调用某个方法(在本例中为secondSelector)时,它立即返回并等待直到所有其他方法都完成.在队列没有任务之后,它完成了我异步调用的方法.我的想法是对的吗?