在Swift中将新数组存储在for循环中

问题描述

所以我有这个功能,可以在电影中循环播放语句,而且我可以打印结果 键“ title”和“ type”。 我想在ViewController或表单元格中显示这些结果。 我的问题是如何创建新数组并将其附加到Dictionary结果数据中,并在for循环之外访问它。

   if let movies = json["ITEMS"] as? Array<Dictionary<String,String>> {
                
              
                for movie in movies {
                   
                    
                    
                   print(movie["title"] ?? "")
                   print(movie["type"] ?? "")
                
                    
                    
                }
                
            }

解决方法

您应该在视图控制器中声明一个变量,并为模型声明一个结构或一个类。

方法如下:

class ViewController: UIViewController  {
    
    struct Movie {
        var title: String
        var type: String
    }

    var globalMovies = [Movie]

    override func viewDidLoad() {
        super.viewDidLoad()
        parseMovies() 
    }

    func parseMovies() { 
        if let movies = json["ITEMS"] as? Array<Dictionary<String,String>> {
        for movie in movies {    
                print(movie["title"] ?? "")
                print(movie["type"] ?? "")
                globalMovies.append(Movie(title: movie["title"] ?? "",type: movie["type"] ?? ""))
            }
        }   
    } 
}