如何在 swift 4 中对对象数组使用 .contains

How to use .contains for Array of Object in swift 4

 func addData(){
   if lac_combinedFilterArray[1][0] == true{
        let Lac = realm.objects(LegalAidClinics.self)//.filter("service.lac_service_filter == true")
        for lac in Lac{
            let filteredServices = lac.service.filter("lac_service_filter == true")
            for service in filteredServices{
                let service_index = filteredServices.index(of: service)
                if lac.service.contains(filteredServices[service_index!]){
                    if !lac_combined_Array.contains(where: {[=11=].lac.legal_aid_clinic_id == lac.legal_aid_clinic_id}){
                        lac_combined_Array.append(lac)
                    }
                }
            }
        }
    if lac_combinedFilterArray[1][1] == true{
        let chapters = realm.objects(IBPChapters.self)
        for chapter in chapters{
            let filteredServices = chapter.service.filter("lac_service_filter == true")
            for service in filteredServices{
                let service_index = filteredServices.index(of: service)
                if chapter.service.contains(filteredServices[service_index!]){
                    if !lac_combined_Array.contains(element: Object){
                        lac_combined_Array.append(chapter)
                    }
                }
            }
        }
    }
}

我将在 lac_combined_array 中追加 2 个对象,我想添加一个条件

if lac_combined_array.contains(where: {[=12=].IBPChapters.ibp_chapter_id == chapter.ibp_chapter_id})

if lac_combined_array.contains(where: {[=13=].LegalAidClinics.legal_aid_clinics_id == lac.legal_aid_clinics_id})

如何在swift4的对象数组中使用.contains

检查元素的类型,如果数组包含不同类型的对象,则进行相应的比较:

    if lac_combined_array.contains(where: { (obj) -> Bool in
        if let chapters = obj as? IBPChapters {
            return chapters.ibp_chapter_id == chapter.ibp_chapter_id
        }
        else if let legalAidClinics = obj as? LegalAidClinics {
            return legalAidClinics.legal_aid_clinics_id == lac.legal_aid_clinics_id
        }
        return false
    }) {
        //......
    }