小编Liw*_*eiZ的帖子

异步回调中的Inout参数无法按预期工作

我正在尝试插入带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)

swift

7
推荐指数
2
解决办法
1986
查看次数

默认分配的参数(=默认值)是指?

我正在尝试理解前提条件功能并遇到了"= default".快速谷歌和扫描指南没有带来任何相关的结果.谁有人向我解释这个?谢谢.

func precondition(condition: @autoclosure () -> Bool, _ message: @autoclosure () -> String = default, file: StaticString = default, line: UWord = default)
Run Code Online (Sandbox Code Playgroud)

swift

3
推荐指数
1
解决办法
170
查看次数

标签 统计

swift ×2