This article echoes the same idea (instead of big singleton, view controllers should accept the data they require in their initializer (constructor)) and gives some reasons why to do it this way:
http://www.hollance.com/2012/02/dont-abuse-the-app-delegate/