Swift 3: Ergebnisse mit IDs filtern und Tabellenansicht neu laden
Posted: 05 Jan 2025, 16:38
Ich versuche herauszufinden, wie ich die Daten filtern und die Tabellenansicht neu laden kann.Ich habe 4 Regionen (Nord, Süd, Ost und West) und alle.Standardmäßig werden alle Profile angezeigt.
Wenn ich auf „Norden“ (d. h. 1) drücke, werden nur die in der Nordregion verfügbaren Profile gefiltert
Das Gleiche gilt für Süden, Osten und Westen. Abhängig von der gedrückten Region sollte das Profil gefiltert werden.
Bitte sehen Sie sich den Screenshot an:


Und, wie im zweiten Screenshot (Südregion) zu sehen ist Das Profil sollte ausgeblendet werden, da es zur Region Nord gehört.
Bitte lassen Sie mich wissen, wie ich das beheben kann.
Vielen Dank für die Zeit: )
Modell:
Region abrufen und der Variablen zuweisen:
JSON-DATEN: (REGION_ID)
[img]https://i.sstatic.net /72Y2M.png[/img]
Wenn ich auf „Norden“ (d. h. 1) drücke, werden nur die in der Nordregion verfügbaren Profile gefiltert
Das Gleiche gilt für Süden, Osten und Westen. Abhängig von der gedrückten Region sollte das Profil gefiltert werden.
Code: Select all
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.section == 0
{
let cell = self.businessTableView.dequeueReusableCell(withIdentifier: "businessCell", for: indexPath) as! BusinessCell
let tableObjects:StorageSubCatagoriezTwo = subCatagorizeDataTwo[indexPath.row]
let charCheck = (tableObjects.address).replacingOccurrences(of: " ", with: "")
cell.businessWebView.scrollView.isScrollEnabled = false
var strings = ""
if regId == 1
{
cell.businessName.text = " "
let tableObjects:StorageSubCatagoriezTwoNorth = subCatagorizeDataTwoN[indexPath.row]
if tableObjects.address.characters.isEmpty != true
{
strings = strings+(tableObjects.nameString.characters.count > 0 ? ""+tableObjects.nameString+"[/b][b]" : "")
}
else
{
//nothing
}
if tableObjects.telephone.characters.isEmpty != true
{
strings = strings+(tableObjects.telephone.characters.count > 0 ? "
[img]\[/img]
"+tableObjects.telephone+"
" : "")
}
else
{
}
if tableObjects.email.characters.isEmpty != true
{
strings = strings+(tableObjects.email.characters.count > 0 ? "
[img]\[/img]
"+tableObjects.email+"
" : "")
}
else
{
}
if tableObjects.website.characters.isEmpty != true{
strings = strings+(tableObjects.website.characters.count > 0 ? "
[img]\[/img]
"+tableObjects.website : "")
}
else{
}
}
else if regId == 2
{
cell.businessName.text = " "
let tableObjects:StorageSubCatagoriezTwoEast = subCatagorizeDataTwoE[indexPath.row]
//cell.businessName.text = tableObjects.nameString
if tableObjects.address.characters.isEmpty != true
{
// cell.businessName.text = tableObjects.nameString
strings = strings+(tableObjects.nameString.characters.count > 0 ? ""+tableObjects.nameString+"[/b][b]" : "")
}
else
{
//nothing
}
if tableObjects.telephone.characters.isEmpty != true
{
strings = strings+(tableObjects.telephone.characters.count > 0 ? "
[img]\[/img]
"+tableObjects.telephone+"
" : "")
}
else
{
}
if tableObjects.email.characters.isEmpty != true
{
strings = strings+(tableObjects.email.characters.count > 0 ? "
[img]\[/img]
"+tableObjects.email+"
" : "")
}
else
{
}
if tableObjects.website.characters.isEmpty != true{
strings = strings+(tableObjects.website.characters.count > 0 ? "
[img]\[/img]
"+tableObjects.website : "")
}
else{
}
}
else if regId == 3
{
cell.businessName.text = " "
let tableObjects:StorageSubCatagoriezTwoSouth = subCatagorizeDataTwoS[indexPath.row]
// cell.businessName.text = tableObjects.nameString
if tableObjects.address.characters.isEmpty != true
{
//cell.businessName.text = tableObjects.nameString
strings = strings+(tableObjects.nameString.characters.count > 0 ? ""+tableObjects.nameString+"[/b][b]" : "")
}
else
{
//nothing
}
if tableObjects.telephone.characters.isEmpty != true
{
strings = strings+(tableObjects.telephone.characters.count > 0 ? "
[img]\[/img]
"+tableObjects.telephone+"
" : "")
}
else
{
}
if tableObjects.email.characters.isEmpty != true
{
strings = strings+(tableObjects.email.characters.count > 0 ? "
[img]\[/img]
"+tableObjects.email+"
" : "")
}
else
{
}
if tableObjects.website.characters.isEmpty != true{
strings = strings+(tableObjects.website.characters.count > 0 ? "
[img]\[/img]
"+tableObjects.website : "")
}
else{
}
}
else if regId == 4
{
cell.businessName.text = " "
let tableObjects:StorageSubCatagoriezTwoWest = subCatagorizeDataTwoW[indexPath.row]
// cell.businessName.text = tableObjects.nameString
if tableObjects.address.characters.isEmpty != true
{
// cell.businessName.text = tableObjects.nameString
strings = strings+(tableObjects.nameString.characters.count > 0 ? ""+tableObjects.nameString+"[/b][b]" : "")
}
else
{
//nothing
}
if tableObjects.telephone.characters.isEmpty != true
{
strings = strings+(tableObjects.telephone.characters.count > 0 ? "
[img]\[/img]
"+tableObjects.telephone+"
" : "")
}
else
{
}
if tableObjects.email.characters.isEmpty != true
{
strings = strings+(tableObjects.email.characters.count > 0 ? "
[img]\[/img]
"+tableObjects.email+"
" : "")
}
else
{
}
if tableObjects.website.characters.isEmpty != true{
strings = strings+(tableObjects.website.characters.count > 0 ? "
[img]\[/img]
"+tableObjects.website : "")
}
}
else{
let tableObjects:StorageSubCatagoriezTwo = subCatagorizeDataTwo[indexPath.row]
cell.businessName.text = tableObjects.nameString
let charCheck = (tableObjects.address).replacingOccurrences(of: " ", with: "")
print(charCheck)
cell.businessName.text = " "
var strings = ""
strings = strings+(tableObjects.nameString.characters.count > 0 ? ""+tableObjects.nameString+"[/b][b]" : "")
strings = strings+(tableObjects.nameString.characters.count > 0 ? ""+tableObjects.address+"[/b][b]" : "")
// strings = strings+(tableObjects.address.characters.count > 0 ? "
[img]\[/img]
"+tableObjects.address+"
" : "")
strings = strings+(tableObjects.telephone.characters.count > 0 ? "
[img]\[/img]
"+tableObjects.telephone+"
" : "")
strings = strings+(tableObjects.email.characters.count > 0 ? "
[img]\[/img]
"+tableObjects.email+"
" : "")
strings = strings+(tableObjects.website.characters.count > 0 ? "
[img]\[/img]
"+tableObjects.website : "")
// cell.businessWebView.loadHTMLString(""+tableObjects.nameString+"[/b]
[img]\[/img]
"+tableObjects.address+"
[img]\[/img]
"+tableObjects.telephone+"
[img]\[/img]
"+tableObjects.email+"
[img]\[/img]
"+tableObjects.website, baseURL: nil)
cell.businessWebView.loadHTMLString(strings, baseURL: nil)
let heightIndex = strings.components(separatedBy: "
")
let heightMul = heightIndex.count
print(heightMul*32)
self.heightOfTheCell = CGFloat(((heightMul)*32)+4)
}
return cell
}
else if indexPath.section == 1
{
let cell = self.businessTableView.dequeueReusableCell(withIdentifier: "businessCell2")
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 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 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 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 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 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.businessTableView.dequeueReusableCell(withIdentifier: "businessCell3")
cell?.textLabel?.text = tableObjects.nameString
return cell!
}
}


Und, wie im zweiten Screenshot (Südregion) zu sehen ist Das Profil sollte ausgeblendet werden, da es zur Region Nord gehört.
Bitte lassen Sie mich wissen, wie ich das beheben kann.
Vielen Dank für die Zeit: )
Modell:
Code: Select all
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)
}
}
Code: Select all
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"]!)
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"]!)
[img]https://i.sstatic.net /72Y2M.png[/img]