dimanche 15 juillet 2018

Swift error while do action

Thread 1: EXC_BAD_ACCESS (code=2, address=0x7ffee3387ff8) **Can any correct it if wrong I think the problem comes from else if statement {} < if can any one fix it and tell me where is the problem in the previous code I posted and what i have to do to solve the problem I don't know if some can help me **

func fetchAndUpdateTableView(){
    if catagory == "Tools" {
        if let url = urlCoreData{
            switch (url) {
        case "All_m0":
            let shit = All_m0()
            coreVariables.results_All_M0 = shit.fetchProduct()!
            break
        case "Screw_drive":
            let  screwd = Screw_drive()
            coreVariables.results_Screw_Drive = screwd.fetchProduct()!
            break
        case "Wrench_m":
            let Wrenchm = Wrench_m()
            coreVariables.results_Wrench_M = Wrenchm.fetchProduct()!
            break
        default:
            break
        }
        }

        else if catagory == "Water Pressure"{
            if let url = urlCoreData{
                switch (url) {
                case "All_m1":
                    let All1 = All_m1()
                    coreVariables.results_All_M1 = All1.fetchProduct()!
                    break
                default:
                    break
                }

        }



        else if catagory == "Garden Equipments"{

            if let url = urlCoreData{
                switch (url) {
                case "All_m2":
                    let All2 = All_m2()
                    coreVariables.results_All_M2 = All2.fetchProduct()!
                    break
                default:
                    break


        }
            }


        }
   tableView.reloadData()
    }

}
}

//MARK: get and parse JSON

func processJsonData(resource : String) {
    let path = Bundle.main.path(forResource: resource, ofType: "json")
    do {
        let data = try Data(contentsOf: URL(fileURLWithPath: path!), options: .alwaysMapped)
        do{
            let object = try JSONSerialization.jsonObject(with: data as Data, options: .allowFragments)
            if let dictionary = object as? NSArray {
                fetch_Store_Functions.readJSONObject(object: dictionary, catagory: catagory, urlCoreData: urlCoreData)
            }
        } catch {
            // Handle Error
        }
    } catch let error {
        print(error.localizedDescription)
    }
}

func loadFunction(){
    if catagory == "Tools" {
        if let url = urlCoreData{
            switch (url) {
        case "All_m0":
          //  self.fetchAndUpdateTableView()
            if coreVariables.results_All_M0.count == 0{
                self.processJsonData(resource: selectedCatagory)
            }else{
                self.fetchAndUpdateTableView()
                tableView.reloadData()
            }
            break
        case "Screw_drive":
        //self.fetchAndUpdateTableView()
            if coreVariables.results_Screw_Drive.count == 0{
                self.processJsonData(resource: selectedCatagory)
                tableView.reloadData()
            }else{
                self.fetchAndUpdateTableView()
                tableView.reloadData()
            }
            break
        case "Wrench_m":
           // self.fetchAndUpdateTableView()
            if coreVariables.results_Wrench_M.count == 0{
                self.processJsonData(resource: selectedCatagory)
                tableView.reloadData()
            }else{
                self.fetchAndUpdateTableView()
                tableView.reloadData()
            }
            break
        default:
            break
        }
        }
    }else if catagory == "Water Pressure"{
            if let url = urlCoreData{
                switch (url) {
            case "All_m1":
                self.fetchAndUpdateTableView()
                if coreVariables.results_All_M1.count == 0{
                    self.processJsonData(resource: selectedCatagory)
                    tableView.reloadData()
                }else{
                    self.fetchAndUpdateTableView()
                    tableView.reloadData()
                }
                break
                default:
                    break
            }
        }
    }else if catagory == "Garden Equipments"{
        if let url = urlCoreData{
            switch (url) {
            case "All_m2":
                //  self.fetchAndUpdateTableView()
                if coreVariables.results_All_M2.count == 0{
                    self.processJsonData(resource: selectedCatagory)
                }else{
                    self.fetchAndUpdateTableView()
                    tableView.reloadData()
                }
                break
            default:
                break


        }
    }

    }
}

Aucun commentaire:

Enregistrer un commentaire