I'm trying to figure out the best way to implement MVC design in my application. Right now when a user enters the UITableViewController, I send a request to my Model to go to the internet and download some data. When the data returns, I want it to update the data even if my UITableViewController is dealloced (by the user closing the view, or backing out of it). So currently I update the model and then have a delegate on the model to "update the UI" on the UITableViewController. Basically after the data returns, I want the model to call [tableView reloadData] and I achieve this with a delegate.
My questions:
Is this necessarily the correct way? Is there any other way for my model to call methods on my UIViewController?
What if I want multiple ViewControllers to be notified when that model is changed...for example, what if I back out of UITableViewController1 and then navigate into UITableViewController2 and that same model/data is used. Should I just be creating multiple delegates on my model?
Just looking for some best practices and wondering if I'm doing this correctly.
Thanks in advance.