Я создал имитацию результатов поиска, поместив данные 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-адреса и проанализировать их, но всегда с аналогичными результатами.