I have an UIScrollView object that contain other views. There are UIViewController(s) that user can create in runtime and puts they views on UIScrollView. In its turn they store also different view.
So I suppose that I can use NSCoding for storing user interface in NSUserDefaults. But maybe another way will be most beautiful, for example if I will have data model of these views and if I need they I will recreate it using data model instead NSCoding that will store all my object in storage.