相关疑难解决方法(0)

仅在异步函数完成执行后运行代码

我对Swift和Xcode一般都比较新,我发现很难解决这个问题.

我正在开发一个利用Parse.com后端服务器的应用程序.为了不阻塞主线程,每当应用程序从服务器下载任何内容时,它都是异步完成在不同的线程上完成的.然而,其余代码继续在主线程上执行,并且当它应该从服务器获得的数据尚未下载时它崩溃.我想知道如何在异步函数完成后调用函数来运行,并且必须对单独文件中的函数进行此操作.

我读到闭包可能有助于此,但我发现语法非常困难,并且将非常感谢解释.但任何方式都会非常有帮助.

谢谢

asynchronous ios parse-platform swift

8
推荐指数
1
解决办法
5195
查看次数

如何从 iOS/swift 中的闭包函数返回值?

我刚刚开始学习 IOS 开发,来自后端世界。我希望将 userID 传递给此函数并返回名称,所有数据都来自 Firebase。我当前尝试将名称值从闭包中打破的尝试不起作用,返回空字符串。我如何构建这段代码才能返回“name”变量。

    func getNameOfUser(uid: String) -> String {
    var name: String = ""
    FIRAuth.auth()?.signInAnonymouslyWithCompletion() { (user, error) in
        self.ref = FIRDatabase.database().reference()
        self.ref!.child("users").child(uid).child("name").observeSingleEventOfType(.Value, withBlock: { (snapshot) in
            name = snapshot.value! as! String
        }) { (error) in
            print(error.localizedDescription)
        }
    }
    return name
}
Run Code Online (Sandbox Code Playgroud)

closures asynchronous ios firebase swift

5
推荐指数
1
解决办法
4205
查看次数

标签 统计

asynchronous ×2

ios ×2

swift ×2

closures ×1

firebase ×1

parse-platform ×1