Ошибка джуна хееелп


#1
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)")
                        }
                    }

                }
            }

            //бд конец
      
        }
        
    }
    
}


#2

Я сам джун, могу ошибаться) но вы по-моему не добавили catch{ } в последнем блоке


#3

Посмотрите пожалуйста пункт 1 и примите соответствующие действия.


#4

До джуна далеко ещё ))) И как в соседем вопросе ответ на ваш вопрос лежит в базовом разделе языка Swfit - “Функции”