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: {$0.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)
}
}
}
}
}
}
I will append 2 objects in lac_combined_array
and I want to put a condition
if lac_combined_array.contains(where: {$0.IBPChapters.ibp_chapter_id == chapter.ibp_chapter_id})
and
if lac_combined_array.contains(where: {$0.LegalAidClinics.legal_aid_clinics_id == lac.legal_aid_clinics_id})
How to use .contains
in array of object in swift4
To check the element's type and then make comparisons correspondingly if the array contains objects of different types:
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
}) {
//......
}