title: UITableViewController does not show info after adding
body: <p>I'm tried to find solution on my own, but...so, to be short:</p>
  <p>After adding information (in this case - String and Date type's) to the AddTaskViewController and press &quot;Save&quot; button the TableViewController is appears without any information. But, ViewController passed the information to a TableViewController (moreover, the notification is working). I &quot;reload&quot; app in simulator and all information appears!</p>
  <p>I tried using the method 'tableView.reloadData()' in 'viewWillAppear(_ animated: Bool)' but it didn't help. It appears every time when i add a new task via the ViewController.</p>
  <p>I'm sorry, I'm beginner and would appreciate any help!</p>
  <p>class AddTaskViewController: UIViewController {</p>
  <pre><code>@IBOutlet weak var titleTextField: UITextField!
  @IBOutlet weak var descriptionTextView: UITextView!
  @IBOutlet weak var notificationPicker: UIDatePicker!
  
  
  override func viewDidLoad() {
      super.viewDidLoad()
      
      notificationPicker.maximumDate = Date()
      
  }
  
  @IBAction func saveTapped(_ sender: UIBarButtonItem) {
      print(&quot;Save button pressed!&quot;)
      
      let titleText = titleTextField.text ?? &quot;&quot;
      let descriptionText = descriptionTextView.text ?? &quot; &quot;
      let notification = notificationPicker.date
  
      let appDelegate = UIApplication.shared.delegate as! AppDelegate
      let context = appDelegate.persistentContainer.viewContext
  
      let newTask = Task(context: context)
      newTask.titleText = titleText
      newTask.descriptionText = descriptionText
      newTask.notification = notification
      
      if let uniqueId = newTask.taskId {
          print(&quot;TaskID: \(uniqueId)&quot;)
      }
      
      do {
          try context.save()
          let message = &quot;Time for \(titleText)&quot;
          let content = UNMutableNotificationContent()
          content.body = message
          content.sound = UNNotificationSound.default
          
          //
          var dateComponents = Calendar.current.dateComponents([.minute, .hour, .day], from: notification)
          // dateComponents.hour =
          
          
          let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: true)
          if let identifier = newTask.taskId {
              let request = UNNotificationRequest(identifier: identifier, content: content, trigger: trigger)
              let center = UNUserNotificationCenter.current()
              center.add(request, withCompletionHandler: nil)
          }
      } catch let error {
          print(&quot;Error \(error)&quot;)
      }
      
      dismiss(animated: true, completion: nil)
      
  }
  
  @IBAction func cancelTapped(_ sender: UIBarButtonItem) {
      dismiss(animated: true, completion: nil)
  }
  </code></pre>
  <p>}</p>
  <p>class StorageTableViewController: UITableViewController {</p>
  <pre><code>var tasks = [Task]()
  
  let dateFormatter = DateFormatter()
  
  override func viewDidLoad() {
      super.viewDidLoad()
      
      dateFormatter.dateStyle = .medium
      dateFormatter.timeStyle = .short
  }
  
  override func viewWillAppear(_ animated: Bool) {
      super.viewWillAppear(animated)
      let appDelegate = UIApplication.shared.delegate as! AppDelegate
      let context = appDelegate.persistentContainer.viewContext
      let fetchRequest = Task.fetchRequest() as NSFetchRequest&lt;Task&gt;
      
      do {
          tasks = try context.fetch(fetchRequest)
      } catch let error {
          print(&quot;Error: \(error)&quot;)
      }
      
            
      tableView.reloadData()
  }
  
  // MARK: - Table view data source
  
  override func numberOfSections(in tableView: UITableView) -&gt; Int {
      // #warning Incomplete implementation, return the number of sections
      
      return 1
  }
  
  override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -&gt; Int {
      // #warning Incomplete implementation, return the number of rows
      
      return tasks.count
  }
  
  override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -&gt; UITableViewCell {
      let cell = tableView.dequeueReusableCell(withIdentifier: &quot;taskCellIdentifier&quot;, for: indexPath)
      let task = tasks[indexPath.row]
      
      let titleText = task.titleText ?? &quot;&quot;
      let descriptionText = task.descriptionText ?? &quot; &quot;
      cell.textLabel?.text = titleText + &quot;&quot; + descriptionText
  
      if let date = task.notification as Date? {
          cell.detailTextLabel?.text = dateFormatter.string(from: date)
      } else {
          cell.detailTextLabel?.text = &quot; &quot;
      }
      // Configure the cell...
  
      return cell
  }
  
  // Override to support conditional editing of the table view.
  override func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -&gt; Bool {
      // Return false if you do not want the specified item to be editable.
      return true
  }
      
  // Override to support editing the table view.
  override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {
  
      if tasks.count &gt; indexPath.row {
          let task = tasks[indexPath.row]
          // Deleting notification:
          if let identifier = task.taskId {
              let center = UNUserNotificationCenter.current()
              center.removePendingNotificationRequests(withIdentifiers: [identifier])
          }
          //
          let appDelegate = UIApplication.shared.delegate as! AppDelegate
          let context = appDelegate.persistentContainer.viewContext
          context.delete(task)
          tasks.remove(at: indexPath.row)
          
          do {
              try context.save()
          } catch let error {
              print(&quot;Error \(error)&quot;)
          }
          
          tableView.deleteRows(at: [indexPath], with: .fade)
      }
  </code></pre>