Swift 3: Ergebnisse mit IDs filtern und Tabellenansicht neu ladenIOS

Programmierung für iOS
Guest
 Swift 3: Ergebnisse mit IDs filtern und Tabellenansicht neu laden

Post by Guest »

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.

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!
}
}
Bitte sehen Sie sich den Screenshot an:
Image

Image
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)
}
}
Region abrufen und der Variablen zuweisen:

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"]!)
JSON-DATEN: (REGION_ID)
[img]https://i.sstatic.net /72Y2M.png[/img]

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post