我想用dispatchqueue执行代码。但是只有在特定条件为真的情况下。到目前为止,我一直在这样做,但是必须有一个不太丑陋的方法。
if !sync {
return self.tasksInQueue[userID]
}
return SYNC_QUEUE.sync {
return self.tasksInQueue[userID]
}
答案 0 :(得分:0)
我不确定它是否更干净..但是您可以定义一个变量来定义要执行的常规工作...
<?php
echo "<html>$var</html>"
// OR if one quote
echo '<html>'.$var.'</html>';
?>
如果这种类型的if发生在很多地方,那么从理论上讲,您可以创建一些通用函数来为您做检查。
let task = { self.tasksInQueue[userID] }
if sync {
return SYNC_QUEUE.sync { task() }
} else {
return task()
}
然后每当您需要进行手术时...
func optionalSync <T> (_ sync: Bool, task: () -> T) {
if sync {
return SYNC_QUEUE.sync { task() }
} else {
return task()
}
}