A couple of bonus questions:
1) Can you explain what should be put into these folders? I know that view controllers should have you view controllers (obviously), and that UI should contain your storyboards. Would views be for custom views that you create, such as a custom datepicker or something? And would View Models be the model that contains all the data for a specific object that your view presents?
2) Would View Models be necessary if you use core data? Is what core data generates your "view models"?
3) When and for what purpose should you be writing part of your code as a framework?