我正在尝试插入带inout参数的函数,以将从异步回调接收的数据附加到外部数组.但是,它不起作用.我尝试了所知的一切,找出原因 - 没有运气.
正如@AirspeedVelocity建议的那样,我重写了如下代码以删除不必要的依赖项.我还使用an Int作为inout参数来保持简单.
输出总是:
c before: 0
c after: 1
我无法弄清楚这里出了什么问题.
func getUsers() {
let u = ["bane", "LiweiZ", "rdtsc", "ssivark", "sparkzilla", "Wogef"]
var a = UserData()
a.userIds = u
a.dataProcessor()
}
struct UserData {
var userIds = [String]()
var counter = 0
mutating func dataProcessor() -> () {
println("counter: \(counter)")
for uId in userIds {
getOneUserApiData(uriBase + "user/" + uId + ".json", &counter)
}
}
}
func getOneUserApiData(path: String, inout c: Int) …Run Code Online (Sandbox Code Playgroud) 我正在尝试理解前提条件功能并遇到了"= default".快速谷歌和扫描指南没有带来任何相关的结果.谁有人向我解释这个?谢谢.
func precondition(condition: @autoclosure () -> Bool, _ message: @autoclosure () -> String = default, file: StaticString = default, line: UWord = default)
Run Code Online (Sandbox Code Playgroud) swift ×2