Ah, yes, right, sorry, wrote the View part a bit sloppy.
The ViewController will load the view (from a nib) or will create it from code. The VC will control what will be seen on the screen. So one might have a xib-file and the VC, or if one prefers to create views in code, only the VC.
For certain type of apps views created in code are the optimum. When Interface Builder came out Many programmers hated it and continued with wiring views by hand. The current IB (now integrated into Xcode) is usable and creating xib's is not a difficult thing.
A model can be a single class or a collection os classes, depending on complexity. It can be written from scratch or a collection of Core Data entities. If the data is complex the model will be complex, for simple data a single class can be enough. Just try your best to keep it outside the ViewControllers.
For a new starter (read: the OP

) Core Data might be a bit much to swallow, although is not confusing. The Problem is that many are mistaking Core Data for a relational database where it is actually an object graph manager. Once treated as such it is rather easy to manage. It has a lot of glue code that otherwise would have to be coded manually and more important, supported manually. Any line of code that does not need support is a good line of code.