重复循环中出现逻辑故障?

时间:2018-09-02 19:02:45

标签: swift loops swift4

重复循环有问题。我不知道为什么它在我的代码中不起作用。也许我有一些逻辑错误。

func getJson(){
    repeat{
         movieName.isHidden = true
        let randomNumber = Int(arc4random_uniform(128188))

        let jsonUrlString = "https://api.url/3/movie/" + String(randomNumber) + "?api_key="

        //let jsonUrlString = "https://api.url.org/3/movie/564?api_key=key&language=de-DE"
        guard let url = URL(string: jsonUrlString) else
        {return}

        URLSession.shared.dataTask(with: url) { (data, response, err) in

        guard let data = data else {return}

        let dataString = String(data: data, encoding: .utf8)
        print(dataString ?? String())

        strTrue = false

在这里,我正在检查api是否返回一些数据,否则它们将为我提供状态代码34.Im正在检查单词“状态代码”。 如果api返回“ status_code”。我正在用if进行检查,然后将字符串代码转换为true,所以repeat-while循环的条件是 然后字符串代码为真,他将再次启动它并寻找新的电影ID。但是我对其进行了测试,但无法正常工作。也许你们可以帮助我:)

        let stringCode = dataString?.contains("status_code")
        if stringCode == true {
            print("yes fehler 34")

            strTrue = stringCode!
            print(strTrue)
        }            

        do {

            guard let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? [String: Any] else {return}

            let movie = Movie(json: json)

            print(movie.name)
            print(movie.genres)

            let imageString = "https://image.url.org/t/p/w500"+(movie.imageUrl)
            let url2 = URL(string: imageString)
            //self.movieImage.downloadedFrom(url: url2!)

            self.movieDescriptionLabel = movie.overview
            self.movieNameLabel = movie.name


            DispatchQueue.main.async {
                self.movieName.isHidden = false
                self.movieName.text = self.movieNameLabel
                self.movieDescription.text = self.movieDescriptionLabel
                self.movieImage.downloadedFrom(url: url2!)

            }

        } catch let jsonError {
            print("Error",jsonError)
            self.getJson()
        }

        }.resume()
    }while(strTrue == true)

0 个答案:

没有答案