vik*_*kuu 1 multithreading swift
请查看以下代码:
backgroundthread.async {
return self.mycallback() //return string, int etc
}
Run Code Online (Sandbox Code Playgroud)
我想从异步块返回一个值。我不想要任何完成处理程序或任何其他解决方法。
func getAppConfigFromDB(_ key: String) -> String
{
let value = String()
backgroundthread.async {
let inst = AppConfigDB.init(_APP_CONFIG_DB_PATH)
value = inst.getConfigurationInfo(key) // I want to return from here.
}
return value
}
getAppConfigFromDB("path")
Run Code Online (Sandbox Code Playgroud)
就像@rmaddy 说的那样,除了使用完成处理程序之外,您别无他法。
func getAppConfigFromDB(_ key: String, completion: @escaping ((String) -> Void)) {
let value = String()
backgroundthread.async {
let inst = AppConfigDB.init(_APP_CONFIG_DB_PATH)
value = inst.getConfigurationInfo(key) // I want to return from here.
completion(value)
}
}
Run Code Online (Sandbox Code Playgroud)
你像这样调用方法。
getAppConfigFromDB("") { (value) in
// Use value to do something
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3610 次 |
| 最近记录: |