ios - swift 3 : Cannot remove duplicate data from the tableView

标签 ios xcode uitableview swift3 duplicates

我正在尝试从 tableView 中删除重复项。 TableView 上获取的数据来自外部数据库。一些获取的数据重复了几次。

我需要显示的数据是配置文件名称和区域,即显示全部、北、东、南、西。现在,可以有一个配置文件(例如 George's Concreting)可以出现在 3 个区域中。例如北、东、西。默认情况下,当 View 加载时,它会显示所有地区的所有企业。在这个观点上,我有一些重复的业务。我们的 George's Concreting 剖面图在此 View 中重复了 3 次,而它应该只重复一次。当我点击 North/East/West 时,George's Concreting 也应该只出现一次。

所以基本上,George's Concreting 应该只在“全部显示”中出现一次,尽管它在 3 个区域有 3 个业务,并且当我们单击其他区域时,它也应该出现一次。请引用截图。

使用下面的代码我得到并在线出错,请引用****错误****

编码:

class StorageSubCatagoriezTwo
{
    var nameString:String
    var idString:String
    var address:String
    var telephone:String
    var email:String
    var website:String

init(tempName:String,tempID:String,tempaddress:String,tempTelephone:String,tempEmail:String,tempWebsite:String)
{
    self.nameString = tempName.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
    self.idString  = tempID.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
    self.address = tempaddress.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
    self.telephone = tempTelephone.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
    self.email = tempEmail.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
    self.website = tempWebsite.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
}
}

class StorageSubCatagoriezTwoNorth
{
    var nameString:String
    var idString:String
    var address:String
    var telephone:String
    var email:String
    var website:String

init(tempName:String,tempID:String,tempaddress:String,tempTelephone:String,tempEmail:String,tempWebsite:String)
{
    self.nameString = tempName.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
    self.idString  = tempID.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
    self.address = tempaddress.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
    self.telephone = tempTelephone.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
    self.email = tempEmail.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
    self.website = tempWebsite.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
}
}

class StorageSubCatagoriezTwoEast
{
    var nameString:String
    var idString:String
    var address:String
    var telephone:String
    var email:String
    var website:String

init(tempName:String,tempID:String,tempaddress:String,tempTelephone:String,tempEmail:String,tempWebsite:String)
{
    self.nameString = tempName.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
    self.idString  = tempID.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
    self.address = tempaddress.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
    self.telephone = tempTelephone.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
    self.email = tempEmail.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
    self.website = tempWebsite.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
}
}

class StorageSubCatagoriezTwoWest
{
    var nameString:String
    var idString:String
    var address:String
    var telephone:String
    var email:String
    var website:String

init(tempName:String,tempID:String,tempaddress:String,tempTelephone:String,tempEmail:String,tempWebsite:String)
{
    self.nameString = tempName.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
    self.idString  = tempID.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
    self.address = tempaddress.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
    self.telephone = tempTelephone.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
    self.email = tempEmail.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
    self.website = tempWebsite.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)    }
}

class StorageSubCatagoriezTwoSouth
{
    var nameString:String
    var idString:String
    var address:String
    var telephone:String
    var email:String
    var website:String

init(tempName:String,tempID:String,tempaddress:String,tempTelephone:String,tempEmail:String,tempWebsite:String)
{
    self.nameString = tempName.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
    self.idString  = tempID.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
    self.address = tempaddress.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
    self.telephone = tempTelephone.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
    self.email = tempEmail.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
    self.website = tempWebsite.trimmingCharacters(in:  CharacterSet.whitespacesAndNewlines)
}
}

___________________________________________________________




 var subCatagorizeDataTwo = Array<StorageSubCatagoriezTwo>()
var subCatagorizeDataTwoN = Array<StorageSubCatagoriezTwoNorth>()
var subCatagorizeDataTwoE = Array<StorageSubCatagoriezTwoEast>()
var subCatagorizeDataTwoW = Array<StorageSubCatagoriezTwoWest>()
var subCatagorizeDataTwoS = Array<StorageSubCatagoriezTwoSouth>()
var SubCatagoriez3rd = Array<StorageSubCatagoriez3rd>()



func removeDuplicate (sourceArray: [Int]) -> [Int] {
    var uniqueArray:[Int] = []
    for object in sourceArray {
        if !uniqueArray.contains(object)
        {
            uniqueArray.append(object)
        }
    }
    return uniqueArray
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {



    if indexPath.section == 0
    {
        let cell = self.bussinessTableView.dequeueReusableCell(withIdentifier: "bussinessCell", for: indexPath) as! BussinessCell

        let tableObjects:StorageSubCatagoriezTwo = subCatagorizeDataTwo[indexPath.row]

        //let charCheck = (tableObjects.address).replacingOccurrences(of: " ", with: "")


        if reg == "North"
        {
            cell.bussinessName.text = " "
            cell.addLabel.text = " "
            cell.telLabel.text = " "
            cell.emailLabel.text =  " "
            cell.webLabel.text = " "

            var tableObjects:StorageSubCatagoriezTwoNorth = subCatagorizeDataTwoN[indexPath.row]
            tableObjects = removeDuplicate(sourceArray: [tableObjects.nameString]) 
//**error** {Cannot convert value of type 'String' to expected element type 'Int'}


            if tableObjects.address.characters.isEmpty != true
            {
                cell.addLabel.text = tableObjects.address
            }
            else
            {
                //nothing
            }
            if tableObjects.telephone.characters.isEmpty != true
            {
                cell.telLabel.text = tableObjects.telephone
            }
            else
            {

            }
            if tableObjects.email.characters.isEmpty != true
            {
                cell.emailLabel.text = tableObjects.email
            }
            else
            {

            }
            if tableObjects.website.characters.isEmpty != true{
                cell.webLabel.text = tableObjects.website
            }
            else{

            }
        }
        else if reg == "East"
        {
            cell.bussinessName.text = " "
            let tableObjects:StorageSubCatagoriezTwoEast = subCatagorizeDataTwoE[indexPath.row]
            cell.bussinessName.text = tableObjects.nameString
            if tableObjects.address.characters.isEmpty != true
            {
                cell.addLabel.text = tableObjects.address
            }
            else
            {
                //nothing
            }
            if tableObjects.telephone.characters.isEmpty != true
            {
                cell.telLabel.text = tableObjects.telephone
            }
            else
            {

            }
            if tableObjects.email.characters.isEmpty != true
            {
                cell.emailLabel.text = tableObjects.email
            }
            else
            {

            }
            if tableObjects.website.characters.isEmpty != true
            {
                cell.webLabel.text = tableObjects.website
            }
            else{

            }
        }
        else if reg == "South"
        {
            cell.bussinessName.text = " "
            let tableObjects:StorageSubCatagoriezTwoSouth = subCatagorizeDataTwoS[indexPath.row]
            cell.bussinessName.text = tableObjects.nameString
            if tableObjects.address.characters.isEmpty != true
            {
                cell.addLabel.text = tableObjects.address
            }
            else
            {
                //nothing
            }
            if tableObjects.telephone.characters.isEmpty != true
            {
                cell.telLabel.text = tableObjects.telephone
            }
            else
            {

            }
            if tableObjects.email.characters.isEmpty != true
            {
                cell.emailLabel.text = tableObjects.email
            }
            else
            {

            }
            if tableObjects.website.characters.isEmpty != true{
                cell.webLabel.text = tableObjects.website
            }
            else{

            }
        }
        else if reg == "West"
        {
            cell.bussinessName.text = " "
            let tableObjects:StorageSubCatagoriezTwoWest = subCatagorizeDataTwoW[indexPath.row]
            cell.bussinessName.text = tableObjects.nameString
            if tableObjects.address.characters.isEmpty != true
            {
              cell.addLabel.text = tableObjects.address
            }
            else
            {
                //nothing
            }
            if tableObjects.telephone.characters.isEmpty != true
            {
                cell.telLabel.text = tableObjects.telephone
            }
            else
            {

            }
            if tableObjects.email.characters.isEmpty != true
            {
                cell.emailLabel.text = tableObjects.email
            }
            else
            {

            }
            if tableObjects.website.characters.isEmpty != true{
               cell.webLabel.text = tableObjects.website
            }

        }
        else{
            let tableObjects:StorageSubCatagoriezTwo = subCatagorizeDataTwo[indexPath.row]
            cell.bussinessName.text = tableObjects.nameString

            let charCheck = (tableObjects.address).replacingOccurrences(of: " ", with: "")

            cell.bussinessName.text = tableObjects.nameString
            cell.addLabel.text = tableObjects.address
            cell.telLabel.text = tableObjects.telephone
            cell.emailLabel.text = tableObjects.email
            cell.webLabel.text = tableObjects.website

        }


        return cell
    }

    else if indexPath.section == 1
    {
        let cell = self.bussinessTableView.dequeueReusableCell(withIdentifier: "bussinessCell2")
        cell?.textLabel?.textAlignment = .center
        switch regId
        {
        case 0:
            if subCatagorizeDataTwo.count != forAll
            {
                cell?.textLabel?.text = "Load More Data"
                cell?.textLabel?.textColor = Color.whiteColor
                cell?.backgroundColor = UIColor.darkGray

            }else{
                cell?.textLabel?.text = "No More Data Found"
                cell?.textLabel?.textColor = UIColor.darkGray
                cell?.backgroundColor = UIColor.gray
                cell?.selectionStyle = UITableViewCellSelectionStyle.none
            }
        case 1:
            if subCatagorizeDataTwoN.count != forN
            {
                cell?.textLabel?.text = "Load More Data"
                cell?.textLabel?.textColor = Color.whiteColor
                cell?.backgroundColor = UIColor.darkGray

            }else{
                cell?.textLabel?.text = "No More Data Found"
                cell?.textLabel?.textColor = UIColor.darkGray
                cell?.backgroundColor = UIColor.gray
                cell?.selectionStyle = UITableViewCellSelectionStyle.none
            }
        case 2:
            if subCatagorizeDataTwoE.count != forE
            {
                cell?.textLabel?.text = "Load More Data"
                cell?.textLabel?.textColor = Color.whiteColor
                cell?.backgroundColor = UIColor.darkGray

            }else{
                cell?.textLabel?.text = "No More Data Found"
                cell?.textLabel?.textColor = UIColor.darkGray
                cell?.backgroundColor = UIColor.gray
                cell?.selectionStyle = UITableViewCellSelectionStyle.none
            }
        case 3:
            if subCatagorizeDataTwoS.count != forS
            {
                cell?.textLabel?.text = "Load More Data"
                cell?.textLabel?.textColor = Color.whiteColor
                cell?.backgroundColor = UIColor.darkGray

            }else{
                cell?.textLabel?.text = "No More Data Found"
                cell?.textLabel?.textColor = UIColor.darkGray
                cell?.backgroundColor = UIColor.gray
                cell?.selectionStyle = UITableViewCellSelectionStyle.none
            }
        case 4:
            if subCatagorizeDataTwoW.count != forW
            {
                cell?.textLabel?.text = "Load More Data"
                cell?.textLabel?.textColor = Color.whiteColor
                cell?.backgroundColor = UIColor.darkGray

            }else{
                cell?.textLabel?.text = "No More Data Found"
                cell?.textLabel?.textColor = UIColor.darkGray
                cell?.backgroundColor = UIColor.gray
                cell?.selectionStyle = UITableViewCellSelectionStyle.none
            }

        default:break
        }

        return cell!
    }
    else
    {
        let tableObjects:StorageSubCatagoriez3rd = SubCatagoriez3rd[indexPath.row]
        let cell = self.bussinessTableView.dequeueReusableCell(withIdentifier: "bussinessCell3")
        cell?.textLabel?.text = tableObjects.nameString
        return cell!

    }
}

截图 enter image description here

最佳答案

解决方案: *(我只创建了 4 个函数)

  func  UpdateSubCatagorizeTwoRegNorth(_ id:String) {
    subCatagorizeDataTwo.removeAll()
    subCatagorizeDataTwoN.removeAll()
    subCatagorizeDataTwoE.removeAll()
    subCatagorizeDataTwoW.removeAll()
    subCatagorizeDataTwoS.removeAll()
    SubCatagoriez3rd.removeAll()
    self.view.isUserInteractionEnabled = false
    progress.isHidden = false

    let request = NSMutableURLRequest(url: urls.subCatagoriezTwoURLRegNorth as URL)
    let postString = "id="+id
    request.httpBody = postString.data(using: String.Encoding.utf8)
    request.httpMethod = "POST"

    let task = URLSession.shared.dataTask(with: request as URLRequest) { data,response,error in
        guard error == nil && data != nil else
        {
            self.progress.isHidden = true
            self.view.isUserInteractionEnabled = true
            self.alertMessage.alert("Error:\(error)", icon: "error", View: self)
            return
        }

        let httpStatus = response as? HTTPURLResponse

        if httpStatus!.statusCode == 200
        {
            if data?.count != 0
            {
                let responseString = convert.contvertToDictionary(data!) as? [[String:AnyObject]]

                if responseString != nil
                {
                    for dictionary in responseString!
                    {

                        let id = String(describing: dictionary["id"]!)
                        let name = String(describing: dictionary["BUSINESS_NAME"]!)
                        let email = String(describing: dictionary["EMAIL"]!)
                        var streetNo = String(describing: dictionary["STREET_NO"]!)
                        var streetName = String(describing: dictionary["STREET_NAME"]!)
                        var suburbID = String(describing: dictionary["SUBURB_ID"]!)
                        var postCode = String(describing: dictionary["POSTCODE"]!)
                        // let regionID = String(describing: dictionary["REGION_ID"]!)
                        let region = String(describing: dictionary["region"]!)
                        var landline = String(describing: dictionary["PHONE_FIXED"]!)
                        var mobile = String(describing: dictionary["PHONE_MOBILE"]!)
                        let website = String(describing: dictionary["WEBURL"]!)
                        var suburbName = String(describing: dictionary["Suburb"]!)
                        let streedNoHide = String(describing: dictionary["STREET_NO_HIDDEN"]!)
                        let streetNameHide = String(describing: dictionary["STREET_NAME_HIDDEN"]!)
                        let suburbHide = String(describing: dictionary["SUBURB_HIDDEN"]!)
                        let postCodeHide = String(describing: dictionary["POSTCODE_HIDDEN"]!)
                        let mobileHide = String(describing: dictionary["PHONE_MOBILE_HIDDEN"]!)
                        let landlineHide = String(describing: dictionary["PHONE_FIXED_HIDDEN"]!)

                        if streedNoHide != "0"
                        {
                            streetNo = ""
                        }else{

                        }

                        if streetNameHide != "0"
                        {
                            streetName=""
                        }
                        else{
                            //nothing here
                        }


                        if suburbHide != "0"
                        {
                            suburbName = ""
                            suburbID = ""
                        }
                        else{
                            //nothing here
                        }


                        if postCodeHide != "0"
                        {
                            postCode = ""
                        }
                        else{
                            //nothing here
                        }

                        if mobileHide != "0"
                        {
                            mobile = ""
                        }
                        else{
                            //nothing here
                        }
                        if landlineHide != "0"
                        {
                            landline = ""
                        }else
                        {

                        }
                        // streetno
                        DispatchQueue.main.async
                            {

                                if region == "North"
                                {
                                    self.subCatagorizeDataTwoN.append(StorageSubCatagoriezTwoNorth(tempName: name, tempID: id, tempaddress: " "+streetNo+" "+streetName+" "+suburbName+" "+postCode, tempTelephone: landline+" "+mobile, tempEmail: email, tempWebsite: website))
                                }
                                self.subCatagorizeDataTwo.append(StorageSubCatagoriezTwo(tempName: name, tempID: id, tempaddress:  " "+streetNo+" "+streetName+" "+suburbName+" "+postCode, tempTelephone: landline+" "+mobile, tempEmail: email, tempWebsite: website))
                        }

                    }

                    DispatchQueue.main.async
                        {

                            if  self.subCatagorizeDataTwoN.count >= 10
                            {
                                self.forN = 10
                            }
                            else
                            {
                                self.forN = self.subCatagorizeDataTwoN.count
                            }

                            self.UpdateSubCatagorizeTwo1(self.catName, url: self.urls.XRef)
                    }
                }
                else
                {
                    DispatchQueue.main.async
                        {
                            self.progress.isHidden = true
                            self.view.isUserInteractionEnabled = true
                            self.alertMessage.alert("Problem with Requesting! Error 404", icon: "error", View: self)
                    }
                }

            }
            else
            {
                DispatchQueue.main.async
                    {
                        self.progress.isHidden = true
                        self.view.isUserInteractionEnabled = true
                        self.alertMessage.alert("No data got from url!", icon: "error", View: self)
                }
            }
        }
        else
        {
            DispatchQueue.main.async
                {
                    self.progress.isHidden = true
                    self.view.isUserInteractionEnabled = true
                    self.alertMessage.alert("error httpstatus code is : \(httpStatus!.statusCode)", icon: "error", View: self)
            }
        }
    }
    task.resume()


}

func  UpdateSubCatagorizeTwoRegEast(_ id:String) {
    subCatagorizeDataTwo.removeAll()
    subCatagorizeDataTwoN.removeAll()
    subCatagorizeDataTwoE.removeAll()
    subCatagorizeDataTwoW.removeAll()
    subCatagorizeDataTwoS.removeAll()
    SubCatagoriez3rd.removeAll()
    self.view.isUserInteractionEnabled = false
    progress.isHidden = false

    let request = NSMutableURLRequest(url: urls.subCatagoriezTwoURLEast as URL)
    let postString = "id="+id
    request.httpBody = postString.data(using: String.Encoding.utf8)
    request.httpMethod = "POST"

    let task = URLSession.shared.dataTask(with: request as URLRequest) { data,response,error in
        guard error == nil && data != nil else
        {
            self.progress.isHidden = true
            self.view.isUserInteractionEnabled = true
            self.alertMessage.alert("Error:\(error)", icon: "error", View: self)
            return
        }

        let httpStatus = response as? HTTPURLResponse

        if httpStatus!.statusCode == 200
        {
            if data?.count != 0
            {
                let responseString = convert.contvertToDictionary(data!) as? [[String:AnyObject]]

                if responseString != nil
                {
                    for dictionary in responseString!
                    {

                        let id = String(describing: dictionary["id"]!)
                        let name = String(describing: dictionary["BUSINESS_NAME"]!)
                        let email = String(describing: dictionary["EMAIL"]!)
                        var streetNo = String(describing: dictionary["STREET_NO"]!)
                        var streetName = String(describing: dictionary["STREET_NAME"]!)
                        var suburbID = String(describing: dictionary["SUBURB_ID"]!)
                        var postCode = String(describing: dictionary["POSTCODE"]!)
                        // let regionID = String(describing: dictionary["REGION_ID"]!)
                        let region = String(describing: dictionary["region"]!)
                        var landline = String(describing: dictionary["PHONE_FIXED"]!)
                        var mobile = String(describing: dictionary["PHONE_MOBILE"]!)
                        let website = String(describing: dictionary["WEBURL"]!)
                        var suburbName = String(describing: dictionary["Suburb"]!)
                        let streedNoHide = String(describing: dictionary["STREET_NO_HIDDEN"]!)
                        let streetNameHide = String(describing: dictionary["STREET_NAME_HIDDEN"]!)
                        let suburbHide = String(describing: dictionary["SUBURB_HIDDEN"]!)
                        let postCodeHide = String(describing: dictionary["POSTCODE_HIDDEN"]!)
                        let mobileHide = String(describing: dictionary["PHONE_MOBILE_HIDDEN"]!)
                        let landlineHide = String(describing: dictionary["PHONE_FIXED_HIDDEN"]!)

                        if streedNoHide != "0"
                        {
                            streetNo = ""
                        }else{

                        }

                        if streetNameHide != "0"
                        {
                            streetName=""
                        }
                        else{
                            //nothing here
                        }


                        if suburbHide != "0"
                        {
                            suburbName = ""
                            suburbID = ""
                        }
                        else{
                            //nothing here
                        }


                        if postCodeHide != "0"
                        {
                            postCode = ""
                        }
                        else{
                            //nothing here
                        }

                        if mobileHide != "0"
                        {
                            mobile = ""
                        }
                        else{
                            //nothing here
                        }
                        if landlineHide != "0"
                        {
                            landline = ""
                        }else
                        {

                        }
                        // streetno
                        DispatchQueue.main.async
                            {

                                if region == "East"
                                {
                                    self.subCatagorizeDataTwoE.append(StorageSubCatagoriezTwoEast(tempName: name, tempID: id, tempaddress: " "+streetNo+" "+streetName+" "+suburbName+" "+postCode, tempTelephone: landline+" "+mobile, tempEmail: email, tempWebsite: website))
                                }
                                self.subCatagorizeDataTwo.append(StorageSubCatagoriezTwo(tempName: name, tempID: id, tempaddress:  " "+streetNo+" "+streetName+" "+suburbName+" "+postCode, tempTelephone: landline+" "+mobile, tempEmail: email, tempWebsite: website))
                        }

                    }

                    DispatchQueue.main.async
                        {

                            if  self.subCatagorizeDataTwoE.count >= 10
                            {
                                self.forE = 10
                            }
                            else
                            {
                                self.forE = self.subCatagorizeDataTwoE.count
                            }

                            self.UpdateSubCatagorizeTwo1(self.catName, url: self.urls.XRef)
                    }
                }
                else
                {
                    DispatchQueue.main.async
                        {
                            self.progress.isHidden = true
                            self.view.isUserInteractionEnabled = true
                            self.alertMessage.alert("Problem with Requesting! Error 404", icon: "error", View: self)
                    }
                }

            }
            else
            {
                DispatchQueue.main.async
                    {
                        self.progress.isHidden = true
                        self.view.isUserInteractionEnabled = true
                        self.alertMessage.alert("No data got from url!", icon: "error", View: self)
                }
            }
        }
        else
        {
            DispatchQueue.main.async
                {
                    self.progress.isHidden = true
                    self.view.isUserInteractionEnabled = true
                    self.alertMessage.alert("error httpstatus code is : \(httpStatus!.statusCode)", icon: "error", View: self)
            }
        }
    }
    task.resume()


}

func  UpdateSubCatagorizeTwoRegSouth(_ id:String) {
    subCatagorizeDataTwo.removeAll()
    subCatagorizeDataTwoN.removeAll()
    subCatagorizeDataTwoE.removeAll()
    subCatagorizeDataTwoW.removeAll()
    subCatagorizeDataTwoS.removeAll()
    SubCatagoriez3rd.removeAll()
    self.view.isUserInteractionEnabled = false
    progress.isHidden = false

    let request = NSMutableURLRequest(url: urls.subCatagoriezTwoURLRegSouth as URL)
    let postString = "id="+id
    request.httpBody = postString.data(using: String.Encoding.utf8)
    request.httpMethod = "POST"

    let task = URLSession.shared.dataTask(with: request as URLRequest) { data,response,error in
        guard error == nil && data != nil else
        {
            self.progress.isHidden = true
            self.view.isUserInteractionEnabled = true
            self.alertMessage.alert("Error:\(error)", icon: "error", View: self)
            return
        }

        let httpStatus = response as? HTTPURLResponse

        if httpStatus!.statusCode == 200
        {
            if data?.count != 0
            {
                let responseString = convert.contvertToDictionary(data!) as? [[String:AnyObject]]

                if responseString != nil
                {
                    for dictionary in responseString!
                    {

                        let id = String(describing: dictionary["id"]!)
                        let name = String(describing: dictionary["BUSINESS_NAME"]!)
                        let email = String(describing: dictionary["EMAIL"]!)
                        var streetNo = String(describing: dictionary["STREET_NO"]!)
                        var streetName = String(describing: dictionary["STREET_NAME"]!)
                        var suburbID = String(describing: dictionary["SUBURB_ID"]!)
                        var postCode = String(describing: dictionary["POSTCODE"]!)
                        // let regionID = String(describing: dictionary["REGION_ID"]!)
                        let region = String(describing: dictionary["region"]!)
                        var landline = String(describing: dictionary["PHONE_FIXED"]!)
                        var mobile = String(describing: dictionary["PHONE_MOBILE"]!)
                        let website = String(describing: dictionary["WEBURL"]!)
                        var suburbName = String(describing: dictionary["Suburb"]!)
                        let streedNoHide = String(describing: dictionary["STREET_NO_HIDDEN"]!)
                        let streetNameHide = String(describing: dictionary["STREET_NAME_HIDDEN"]!)
                        let suburbHide = String(describing: dictionary["SUBURB_HIDDEN"]!)
                        let postCodeHide = String(describing: dictionary["POSTCODE_HIDDEN"]!)
                        let mobileHide = String(describing: dictionary["PHONE_MOBILE_HIDDEN"]!)
                        let landlineHide = String(describing: dictionary["PHONE_FIXED_HIDDEN"]!)

                        if streedNoHide != "0"
                        {
                            streetNo = ""
                        }else{

                        }

                        if streetNameHide != "0"
                        {
                            streetName=""
                        }
                        else{
                            //nothing here
                        }


                        if suburbHide != "0"
                        {
                            suburbName = ""
                            suburbID = ""
                        }
                        else{
                            //nothing here
                        }


                        if postCodeHide != "0"
                        {
                            postCode = ""
                        }
                        else{
                            //nothing here
                        }

                        if mobileHide != "0"
                        {
                            mobile = ""
                        }
                        else{
                            //nothing here
                        }
                        if landlineHide != "0"
                        {
                            landline = ""
                        }else
                        {

                        }
                        // streetno
                        DispatchQueue.main.async
                            {

                                if region == "South"
                                {
                                    self.subCatagorizeDataTwoS.append(StorageSubCatagoriezTwoSouth(tempName: name, tempID: id, tempaddress: " "+streetNo+" "+streetName+" "+suburbName+" "+postCode, tempTelephone: landline+" "+mobile, tempEmail: email, tempWebsite: website))
                                }

                                self.subCatagorizeDataTwo.append(StorageSubCatagoriezTwo(tempName: name, tempID: id, tempaddress:  " "+streetNo+" "+streetName+" "+suburbName+" "+postCode, tempTelephone: landline+" "+mobile, tempEmail: email, tempWebsite: website))
                        }

                    }

                    DispatchQueue.main.async
                        {

                            if  self.subCatagorizeDataTwoS.count >= 10
                            {
                                self.forS = 10
                            }
                            else
                            {
                                self.forS = self.subCatagorizeDataTwoS.count
                            }

                            self.UpdateSubCatagorizeTwo1(self.catName, url: self.urls.XRef)
                    }
                }
                else
                {
                    DispatchQueue.main.async
                        {
                            self.progress.isHidden = true
                            self.view.isUserInteractionEnabled = true
                            self.alertMessage.alert("Problem with Requesting! Error 404", icon: "error", View: self)
                    }
                }

            }
            else
            {
                DispatchQueue.main.async
                    {
                        self.progress.isHidden = true
                        self.view.isUserInteractionEnabled = true
                        self.alertMessage.alert("No data got from url!", icon: "error", View: self)
                }
            }
        }
        else
        {
            DispatchQueue.main.async
                {
                    self.progress.isHidden = true
                    self.view.isUserInteractionEnabled = true
                    self.alertMessage.alert("error httpstatus code is : \(httpStatus!.statusCode)", icon: "error", View: self)
            }
        }
    }
    task.resume()


}

请对 WEST 区域执行同样的操作。并按要求更换。

关于ios - swift 3 : Cannot remove duplicate data from the tableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45623709/

相关文章:

iphone - 设置 VC.view 出现在父 VC 的 View 中,不适合我

ios - 部署目标上限

xcode - 是否可以在构建 Xcode 项目时转储 AST?

ios - UITableView 自定义单元格 IBOutlets 为零

ios - 如何找出静态 TableView 单元格属于哪个部分?

iphone - 点击 UITextField 禁用菜单

ios - 使用照片框架按图片大小过滤照片库

ios - 为什么我会收到此 "No known class"警告?

ios - Spritekit - 重叠文本

ios - 如何转换 Tableview 单元格中的删除选项