Guten Morgen zusammen,
ich habe heute eine kleine Funktion gebaut um aus der Core-Data Bank Daten abzurufen. Mein Problem ist, das Xcode einen Fehler auswirft wenn die Daten leer sind. Diese werden dabei in einem Array gespeichert und in einem Tabe View angezeigt.
Um den Fall zu umgehen das keine Daten angegeben werden habe ich folgende Funktion gebaut:
Alles anzeigen
Hatte jemand bereits einmal dieses Problem und hat eine Lösung dafür?
Vielen Dank für Eure Hilfe!
Beste Grüße
Tom
ich habe heute eine kleine Funktion gebaut um aus der Core-Data Bank Daten abzurufen. Mein Problem ist, das Xcode einen Fehler auswirft wenn die Daten leer sind. Diese werden dabei in einem Array gespeichert und in einem Tabe View angezeigt.
Um den Fall zu umgehen das keine Daten angegeben werden habe ich folgende Funktion gebaut:
Quellcode
- func loadData() {
- guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else {
- return
- }
- let context = appDelegate.persistentContainer.viewContext
- let request = NSFetchRequest<NSFetchRequestResult>(entityName: "Recipes")
- do {
- let results = try context.fetch(request)
- guard results.count > 0 else {
- return
- }
- if let entity = results[number] as? NSManagedObject {
- recipe_name = entity.value(forKey: "name")as! String
- recipe_persons = entity.value(forKey: "persons")as! Int
- ingredients = entity.value(forKey: "ingredients")as! Int
- category = entity.value(forKey: "category")as! Int
- var string = String()
- string = entity.value(forKey: "ing\(0)") as? String ?? "fehler"
- for i in 0...ingredients{
- if string == "fehler" {
- let vc = AddNewIngredientViewController()
- vc.number = number
- vc.modalPresentationStyle = .automatic
- self.present(vc, animated: true)
- }else {
- name_array.append(entity.value(forKey: "ing\(i)")as! String)
- quantity_array.append(entity.value(forKey: "ingquan\(i)")as! String)
- }
- }
- }
- } catch {
- print(error)
- }
- }
Vielen Dank für Eure Hilfe!
Beste Grüße
Tom
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Tom16092 ()