I am using Xcode 8 and swift 2.3
I want to save the entire view controller to file and restore state even after app closes. I searched everywhere and found we need to use coder for that. but all just shows to save an object. but here I need to save entire ViewContoller and subviews.
ViewCotroller will have three buttons
- Add Text
- Add Image : User can add any number of textViews and Images. So I need to save all that info also.
- Add ViewController : User may have an array of this viewController and need to save all.
Question 1)
Can just save self.view and can it save all subviews automatically ?
Question 2)
I need to init without coder at start by just using
let nameVccVar = nameVcc()
and
let nameVccVar = nameVcc(coder: CodeVar)
Question 3)
How do I save all this coded data to file using NSKeyedUnarchiver and retrieve back?
Kindly help me or give me tips to make all this work
class nameVcc: UIViewController
{
var nameIntVar = 0
var nameStringVar = "Save this"
var nameImageVar = UIImage()
override func viewDidLoad()
{
super.viewDidLoad()
}
required init?(coder NkdPsgVar: NSCoder)
{
super.init(coder: NkdPsgVar)
}
override func encodeWithCoder(DkdPsgVar: NSCoder)
{
}
func addTextViewBtnClick()
{
let viewVar = UIView()
// Set many values for view
self.view.addSubview(viewVar)
}
func addImageViewBtnClick()
{
let imgViewVar = UIImageView()
// Set many values for ImageView
self.view.addSubview(imgViewVar)
}
}
I also tired :
convenience init()
{
self.init()
}
and
convenience init()
{
self.init(coder: NSCoder())
}