I create some image images programmatically inside a view (created in Storyboard) on two different pieces of code in the same VC, but I get different results. Here is my code:
var images: Int?
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
switch images {
case 0:
imagesCount = countImages.noImage
case 1:
imageView1 = UIImageView(frame: CGRect(x: 0, y: 0, width: Int((viewForImages.frame.width)), height: Int((viewForImages.frame.height))))
imageView1.image = UIImage(data: imageData1!)
viewForImages.addSubview(imageView1)
case 2:
for view in self.viewForImages.subviews {
view.removeFromSuperview()
}
imageView1 = UIImageView(frame: CGRect(x: 0, y: 0, width: Int((viewForImages.frame.width) / 2) - 1, height: Int((viewForImages.frame.height))))
imageView1.image = UIImage(data: imageData1!)
viewForImages.addSubview(imageView1)
imageView2 = UIImageView(frame: CGRect(x: Int(imageView1.frame.width) + 1, y: 0, width: Int((viewForImages.frame.width) / 2), height: Int(viewForImages.frame.height)))
imageView2.image = UIImage(data: imageData2!)
viewForImages.addSubview(imageView2)
case 3:
for view in self.viewForImages.subviews {
view.removeFromSuperview()
}
imageView1 = UIImageView(frame: CGRect(x: 0, y: 0, width: Int((viewForImages.frame.width) / 2) - 1, height: Int((viewForImages.frame.height))))
imageView1.image = UIImage(data: imageData1!)
viewForImages.addSubview(imageView1)
imageView2 = UIImageView(frame: CGRect(x: Int((viewForImages.frame.width) / 2) + 1, y: 0, width: Int((viewForImages.frame.width) / 2), height: Int((viewForImages.frame.height) / 2) - 1))
imageView2.image = UIImage(data: imageData2!)
viewForImages.addSubview(imageView2)
imageView3 = UIImageView(frame: CGRect(x: Int((viewForImages.frame.width) / 2) + 1, y: Int(imageView2.frame.height) + 1, width: Int((viewForImages.frame.width) / 2), height: Int((viewForImages.frame.height)) / 2))
imageView3.image = UIImage(data: imageData3!)
viewForImages.addSubview(imageView3)
default:
break
}
}

The above images display the correct images, but I also save these images to Core Data, and when I open this view again, I added this code to viewDidLoad ():
override func viewDidLoad() {
super.viewDidLoad()
self.imageView1 = UIImageView(frame: CGRect(x: 0, y: 0, width: Int((viewForImages.frame.width) / 2) - 1, height: Int((viewForImages.frame.height))))
if let data = entry.imageData1 {
self.imageView1.image = UIImage(data: data)
}
viewForImages.addSubview(imageView1)
self.imageView2 = UIImageView(frame: CGRect(x: Int((viewForImages.frame.width) / 2) + 1, y: 0, width: Int((viewForImages.frame.width) / 2), height: Int((viewForImages.frame.height) / 2) - 1))
if let data = entry.imageData2 {
self.imageView2.image = UIImage(data: data)
}
viewForImages.addSubview(imageView2)
self.imageView3 = UIImageView(frame: CGRect(x: Int((viewForImages.frame.width) / 2) + 1, y: Int(imageView2.frame.height) + 1, width: Int((viewForImages.frame.width) / 2), height: Int((viewForImages.frame.height)) / 2))
if let data = entry.imageData3 {
self.imageView3.image = UIImage(data: data)
}
viewForImages.addSubview(imageView3)
}
So, whenever VC boots up, the images look like this:

. viewForImages - , Storyboard, - 3 : Data1,2,3 Binary Data (NSData).
, , , , imageView1 80% 2 . . ?