Momentan habe ich den folgenden Code, der ein Objekt speichert, aber ich möchte die Tabellenansicht aktualisieren/neu laden. Die Schaltfläche ist nicht an eine Zelle/Zeile, die es oben rechts in meinem Navigationscontroller (Plus-Symbol) istWie kann ich Tabellenansicht innerhalb meiner TableViewController innerhalb der Tastenaktion neu laden?
Hinweis: Alles passiert innerhalb der gleichen Szene daher alle Ereignisse an den Übergang, wo ich Tabellendaten neu laden konnte aus die Frage.
@IBAction func addWeek (sender: UIButton){
let newnumber:Int = routineWeeks.count + 1
// save data using cor data managed object context
if let managedObjectContext = (UIApplication.sharedApplication().delegate as? AppDelegate)?.managedObjectContext {
week = NSEntityDescription.insertNewObjectForEntityForName("Weeks", inManagedObjectContext: managedObjectContext) as! Weeks
week.weekNumber = newnumber
do {
try managedObjectContext.save()
} catch {
print(error)
return
}
}
//currently not reloading table with new data
tableView.reloadData()
//print information in console
print("end of save function, dismiss controller")
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cellIdentifier = "Cell"
let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath)
// Configure the cell...
cell.textLabel?.text = "Week \(routineWeeks[indexPath.row].weekNumber)"
return cell
}
UPDATE Dank Stackoverflow-Community für mich in der richtigen Richtung.
routineWeeks.append(week)
print("this is a new week:\(week)")
tableView.reloadData()
Können Sie den Code Ihrer Delegate-Funktion Ihres 'tableView' verknüpfen? Und was füllt Ihren 'tableView'? – Chajmz
Für mich sieht es so aus, als müsste es die Daten neu laden. Haben Sie versucht, einen Haltepunkt in 'tableView: cellForRowAtIndexPath()' zu setzen? Können Sie den Code einfügen, in dem Sie die Daten aus den Stammdaten erhalten? – Andrej
@Andrej mit Core-Daten richtig –