ApiData Saved in CoreData

//  ViewController.swift
//  JsonSerialiozationAPIPractice


import UIKit
import CoreData

class ViewController: UIViewController {

    var DictFromJson = NSDictionary()
    var response = [String : AnyObject]()
    var CategoryList = NSArray()
    var category_id = [String : AnyObject]()
    var category_name = String()
    var category_No = String()
    
    var arrcategory_No = [String]()
    var arrcategory_name = [String]()
    
    let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
    
    var category1 = [Category]()
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // Do any additional setup after loading the view, typically from a nib.
        getMethod()
        //PostMethod()
    }
    
    override func viewWillAppear(_ animated: Bool) {
        do
        {
            category1 = try context.fetch(Category.fetchRequest())
        }catch{
            print("faild")
        }
        print(category1.count)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    func getMethod()
    {
    let url = URL(string: "http://180.211.99.165/rs/ovg/api/v1/category_list")
    var request = URLRequest(url: url!)
    request.httpMethod = "GET"
        
    let task = URLSession.shared.dataTask(with: request as URLRequest) { (data, response, error) in
        
        if error != nil
        {
            print(error?.localizedDescription)
        }
        else
        {
            do {
                let json = try JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions.mutableContainers)
              
                self.DictFromJson = json as! NSDictionary
                print("dictFromJson",self.DictFromJson)
                
                self.response = self.DictFromJson["response"] as! [String : AnyObject]
                self.CategoryList = self.response["CategoryList"] as! NSArray
                self.category_id = self.CategoryList[2] as! [String : AnyObject]
                self.category_name = self.category_id["category_name"] as! String
                self.category_No = self.category_id["category_id"] as! String
                
                
                
                
            for i in 0...self.CategoryList.count - 1{
                    
                self.category_id = self.CategoryList[i] as! [String : AnyObject]
                    
                self.category_name = self.category_id["category_name"] as! String
                    
                self.arrcategory_name.append(self.category_name)
                    
                self.category_No = self.category_id["category_id"] as! String
              
                self.arrcategory_No.append(self.category_No)
             
                }
                print(self.arrcategory_name)
                print(self.arrcategory_No)
                
                if self.category1.count == 0
                {
                for i in 0...self.arrcategory_name.count - 1
                {
                    let category2 = Category(context: self.context)
                   category2.catName = self.arrcategory_name[i]
                   category2.catNo = self.arrcategory_No[i]
                   print(category2.catName!)
                    (UIApplication.shared.delegate as! AppDelegate).saveContext()
                }
                    
                }
                
                  else
                  {
                    print("Data available")
                  }
            }
                
            catch let error as NSError{
                print(error)
                }
        }
    }
    task.resume()

}
   
//    func PostMethod()
//    {
//        let dict = ["name":"www","email":"qqq","suggestion":"eeee"]
//        
//        if  let jsonData = try? JSONSerialization.data(withJSONObject: dict, options: .prettyPrinted)
//        {
//            let url = NSURL(string: "http://180.211.99.165/rs/ovg/api/v1/feedback")
//            let request = NSMutableURLRequest(url: url as! URL)
//            request.httpMethod = "POST"
//         
//            request.httpBody = jsonData
//            
//            let task = URLSession.shared.dataTask(with: request as URLRequest){ data,response,error in
//                if error != nil{
//                    print(error?.localizedDescription)
//                    return
//                }
//                
//                do {
//                    let json = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as? NSDictionary
//                    print(json!)
//                    
//                } catch let error as NSError {
//                    print(error)
//                }
//            }
//            task.resume()
//        }
//    }
//    
//    
//    
    
    
    
}


Comments