Is it safe to assume that viewDidLoad() is only ever called once on iOS 8.0+?
Is it safe to assume that viewDidLoad() is only ever called once on iOS 8.0+?
- Subject: Is it safe to assume that viewDidLoad() is only ever called once on iOS 8.0+?
- From: Andreas Falkenhahn <email@hidden>
- Date: Sun, 18 Dec 2016 11:51:59 +0100
I do not use Interface Builder or Storyboards to create my GUI
but I do it manually. Currently, I'm setting up all controls
in viewDidLoad() of my UIViewController.
So I'm doing stuff like this in viewDidLoad():
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
...
[self.view addSubview:button];
The actual positioning is then done in viewDidLayoutSubviews(),
depending on the device's orientation.
According to my research, iOS versions before v6 purged views
on low-memory conditions but AFAIU this is no longer done starting
with v6. My app targets iOS 8.0 and up so can I rely on viewDidLoad()
being called only once?
The reason why I'm asking is that I retain some controls in
viewDidLoad() because I need them later. I release those controls
in dealloc(). Now, if viewDidLoad() could be called more than
once, I'd leak memory. But since viewDidUnload() is deprecated
anyway, I think it is safe to assume viewDidLoad() is only called
once because otherwise Apple would have to provide viewDidUnload()
as well... but still, I'd be glad if somebody could just confirm
my observations. Thanks.
--
Best regards,
Andreas Falkenhahn mailto:email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden