:+1: nice work. The point of this homework was to explore a simple example of a full MVC application with a RESTful API.
The model classes look good. I mentioned Mantle already for the Week 1 assignment as an example of another technique that some developers use for mapping JSON to models.
NSDateFormatters are expensive to instantiate, so you can instantiate it once and use the same one, as long as you're using it from the same thread.
In the Tweet model, in the toggle favorite/retweet functions, you should toggle the properties immediately instead of waiting for the network request to complete. That way, the user won't see a delay between their tap and the property changing values. If the network request fails, you can toggle the value back.
Header files look good, nice encapsulation.
In general, Auto Layout constraints look good. Generally, you shouldn't set a height constraint for labels, or it'll be too sensitive to the font. You can let the intrinsic content size drive the label height.
Nice work handling the retweet label by dynamically modifying the constraint. Alternatively, you could have use a stack view to handle this case.
Delegate properties should be weak to avoid memory cycles.
:+1: nice work. The point of this homework was to explore a simple example of a full MVC application with a RESTful API.
Overall, the other classes look good.