Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
4.8k views
in Technique[技术] by (71.8m points)

swift - Escaping closure captures 'inout' parameter 'albums'

In order to fix this error, this person's answer suggested to change the struct to a class. I did that but I'm still getting the error. How else could I fix this problem?

class FilmaManager {
    
    let urlString = "https://jsonplaceholder.typicode.com"
    
    func fetchAlbums(albums: inout [Album]) {
        AF.request("(urlString)/albums").responseJSON { (response) in
            switch response.result {
            case .success(let value):
                let json = JSON(value)
                
                //debugPrint(json)
                for album in 0 ..< 100 {
                    let albumId = json[album]["id"].int
                    let albumUserId = json[album]["userId"].int
                    let albumTitle = json[album]["title"].string
                    
                    albums.append(Album(id: albumId ?? 0, userId: albumUserId ?? 0, title: albumTitle ?? ""))
                }
            case .failure(let error):
                print(error)
            }
        }
        print(albums)
    }
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
等待大神解答

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...