在做一个音乐播放器,我自己建立了一个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 //这里的对象是空,虽然在上面赋值了
}
}