Swift 查询数据得到的对象如何通过自己建立的model使用?

在做一个音乐播放器,我自己建立了一个Music类, 想通过查询到的类生成传值进Music.

但是我发现query功能 case,success { }下写的代码都不会作用在外部 意味着我不能通过写一个函数去 return 一个Music 对象

这种情况我该怎么办呢?

class Music{
var musicName :String?
var musicAuthor :String?
var musicData :String?
var musicImage :String?
//private static var musicArry:Array? = nil

func getALL()->Music{
    let musicModel = Music()


    let query = LCQuery(className: "Music")
    let _ = query.get("60797885eeda6f6e7cc4861b") { (result) in
        switch result {
        case .success(object: let music):
            musicModel.musicName   = music.get("musicName")?.stringValue //给对象赋值
            musicModel.musicAuthor  = music.get("musicAuthor")?.stringValue //给对象赋值

            let query2 = LCQuery(className: "_File")
            query2.whereKey("name", .equalTo(musicModel.musicName!+".png"))
            _ = query2.find { result in
                switch result {
                case .success(objects: let musics):
                    
                    let url = musics[0].url?.stringValue
                    print(url!)
                    
                    musicModel.musicImage = url //给对象赋值
                    

                    break
                case .failure(error: let error):
                    print(error)
                }
            }
            // 获取内置属性
        case .failure(error: let error):
            print(error)
        }
    }
    
    
    
    return musicModel  //这里的对象是空,虽然在上面赋值了
}

}

我们这边建议您先参考 Apple 的官方文档学习并理解 closures 的相关概念。

感谢您的回复,我看了一下您的链接,对闭包大概有了一定的了解。
因为文档说得不是很详细,我还是不知道如何使用查询到的 objects 。
只能在case,success { } 这个大括号里面使用吗?
可以更加详细的说一说吗?