Почему Xcode Playground запускается 9 раз при распечатке JSON из URL-адреса? - PullRequest
0 голосов
/ 11 июля 2020

Я создал имитацию результатов поиска, поместив данные JSON в файл PHP, к которому моя игровая площадка Xcode может получить доступ. Когда я запускаю игровую площадку, чтобы просто распечатать данные JSON, она печатает данные 9 раз подряд. Почему это не просто однократный просмотр данных? Моя цель - приложение, которое будет UI с базой данных MYSQL. Возможность поиска клиентов ... добавлять и редактировать.

PHP Файл, содержащий данные JSON (имитация поиска клиента в базе данных возвращает 4 возможных совпадающих клиента)

[{"address":"1 Main Street","birthdate":"1980-06-28","city":"Test","clientnotes":"no notes at this time","client_id":200,"country":"US","created":"2019-06-24 16:33:38","email":"some.thing@me.com","firstname":"John","lastname":"Doe","mailinglist":"no","modified":"0000-00-00 00:00:00","phone":"(555) 555-5555","state":"NH","zipcode":"55555"},{"address":"2 Main Street","birthdate":"1980-06-28","city":"Test","clientnotes":"no notes at this time","client_id":200,"country":"US","created":"2019-06-24 16:33:38","email":"some.thing@me.com","firstname":"Jane","lastname":"Doe","mailinglist":"no","modified":"0000-00-00 00:00:00","phone":"(555) 555-5555","state":"NH","zipcode":"55555"},{"address":"3 Main Street","birthdate":"1980-06-28","city":"Test","clientnotes":"no notes at this time","client_id":200,"country":"US","created":"2019-06-24 16:33:38","email":"some.thing@me.com","firstname":"Jim","lastname":"Doe","mailinglist":"no","modified":"0000-00-00 00:00:00","phone":"(555) 555-5555","state":"NH","zipcode":"55555"},{"address":"4 Main Street","birthdate":"1980-06-28","city":"Test","clientnotes":"no notes at this time","client_id":200,"country":"US","created":"2019-06-24 16:33:38","email":"some.thing@me.com","firstname":"Jenny","lastname":"Doe","mailinglist":"no","modified":"0000-00-00 00:00:00","phone":"(555) 555-5555","state":"NH","zipcode":"55555"}]

SWIFT Игровая площадка

//: A UIKit based Playground for presenting user interface
  
import UIKit
import PlaygroundSupport

class MyViewController : UIViewController {
    override func loadView() {
        let view = UIView()
        view.backgroundColor = .white

        
        struct Client: Codable {
            var firstname:String
            var lastname:String
        }
        
        if let url = URL(string: "https://www.XXXXXXXXXX.com/results.php") {
           URLSession.shared.dataTask(with: url) { data, response, error in
              if let data = data {
                 if let jsonString = String(data: data, encoding: .utf8) {
                    print(jsonString)
                 }
               }
           }.resume()
        }
    }
}
// Present the view controller in the Live View window
PlaygroundPage.current.liveView = MyViewController()

Опять же ... когда я запускаю игровую площадку, данные JSON печатаются 9 раз подряд. Я попытался собрать воедино другой код SWIFT, чтобы получить данные JSON из URL-адреса и проанализировать их, но всегда с аналогичными результатами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...