The cells were hardcoded in the below code, and therefore they were only called once. I added this code into the tableView cell for row at function and it resolved the issue as it updated the variable every time the app loaded in:
var WeatherForecastCells: [WeatherCell] = [
WeatherCell(image: "", date: date1ForTableView.string(forKey: "Date1")!, low: "18°", high: "31°"),
...
]