import UIKit
import Alamofire
import CoreData
import ObjectMapper
class ViewController: UIViewController {
// это нужно для того что бы парсить данные начало
struct jj {
var name: String
let height: String
var mass: String
var hair_color: String
var skin_color: String
var eye_color: String
var birth_year: String
var gender: String
var homeworld: String
var films: String
var species: String
var vehicles: String
var starships: String
var created: String
var edited: String
var url: String
init(json:[String: Any ]) {
name = json["name"] as? String ?? ""
height = json["height"] as? String ?? ""
mass = json["mass"] as? String ?? ""
hair_color = json["hair_color"] as? String ?? ""
skin_color = json["skin_color"] as? String ?? ""
eye_color = json["eye_color"] as? String ?? ""
birth_year = json["birth_year"] as? String ?? ""
gender = json["gender"] as? String ?? ""
homeworld = json["homeworld"] as? String ?? ""
films = json["films"] as? String ?? ""
species = json["species"] as? String ?? ""
vehicles = json["vehicles"] as? String ?? ""
starships = json["starships"] as? String ?? ""
created = json["created"] as? String ?? ""
edited = json["edited"] as? String ?? ""
url = json["url"] as? String ?? ""
}
}
// это нужно для того что бы парсить данные конец
override func viewDidLoad() { //загрузка
super.viewDidLoad()
Alamofire.request("https://swapi.co/api/people/1").responseJSON { response in //считываем данные из сайта
print("Request: \(String(describing: response.request))") // ссылка на сайт откуда берем
print("Response: \(String(describing: response.response))") // http url response
print("Result: \(response.result)") // response serialization result
guard let json = response.result.value as? [String: Any] else { return }
// print("JSON: \(json)") // serialized json response
let cc = jj(json: json)
print("Name my name \(cc.name)") // выводим из переменной данные
print("height \(cc.height)")
//бд начало
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let context = appDelegate.persistentContainer.viewContext
let newUser = NSEntityDescription.insertNewObject(forEntityName: "Person", into: context)
newUser.setValue(cc.name, forKey: "name")
newUser.setValue(cc.height, forKey: "height")
do
{
try context
print("save")
}
catch
{
//error
}
let requestBd = NSFetchRequest<NSFetchRequestResult>(entityName: "Person")
requestBd.returnsObjectsAsFaults = false
do
{
let results = try context.fetch(requestBd)
if results.count > 0
{
for result in results as! [NSManagedObject]
{
if let name = result.value(forkey: "name") as? String
{
print("это из бд имя = \(name)")
}
if let height = result.value(forkey: "height") as? String
{
print("это из бд высота = \(height)")
}
}
}
}
//бд конец
}
}
}
Ошибка джуна хееелп
Umid
#1
ODiN
#4
До джуна далеко ещё ))) И как в соседем вопросе ответ на ваш вопрос лежит в базовом разделе языка Swfit - “Функции”