我正在尝试使用 DispatchQueue 让游戏中的敌人移动。我尝试修复此错误,但它一直告诉我属性不匹配任何可用的重载。
func makeAIMove() {
let strategistTime = CFAbsoluteTimeGetCurrent()
DispatchQueue.global(attributes: .qosUserInitiated).async { [unowned self] in
guard let move = self.strategist.bestMoveForActivePlayer() as? Move else { return }
let delta = CFAbsoluteTimeGetCurrent() - strategistTime
DispatchQueue.main.async{ [unowned self] in
self.rows[move.row][move.col].setPlayer(.choose)
let aiTimeCeiling = 2.0
let delay = min(aiTimeCeiling - delta, aiTimeCeiling)
DispatchQueue.main.after(when: .now() + delay) { [unowned self] in
self.makeMove(row: move.row, col: move.col)
}
}
}
}
最佳答案
我想你想要的是 DispatchQueue.global(qos: .userInitiated)
;实际上,没有采用 attributes
参数的重载。
关于ios - 参数标签 "(attributes:)"与 DispatchQueue 中的任何可用重载都不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43922563/