My UIViewController class has an IBOutletCollection containing several IBOutlet objects. I am aware of the need to set retained outlets to nil in viewDidUnload, but do I also need to set the IBOutletCollection to nil? Or should it be released instead in dealloc? Or left alone altogether?
Should IBOutletCollections be set to nil in UIViewController viewDidUnload?
411 Views Asked by beaudrykock At
1
There are 1 best solutions below
Related Questions in IOS
- Overlapping UICollectionView in storyboard
- Cannot pod spec lint because of undeclared type errors
- Is the transactionReceipt data present in dataWithContentsOfURL?
- UIWebView Screen Fitting Issue
- ZXingObjC encoding issues
- iOS: None of the valid provisioning profiles allowed the specific entitlements
- How to hide "Now playing url" in control center
- CloudKit: Preventing Duplicate Records
- Slow performance on ipad erasing image
- Swift code with multiple NSDateFormatter - optimization
- iOS 8.3 Safari crashes on input type=file
- TTTTimeIntervalFormatter always returns strings in English
- How do I add multiple in app purchases in Swift Spritekit?
- Setup code for xibs in iOS. -awakFromNb:
- iOS Voice Over only reads out the title of any alert views
Related Questions in UIVIEWCONTROLLER
- Different storyboard's entry points depending on a parameter
- Labels properties changing in Xcode
- How can I modally present a UIViewController on another Storyboard that's embedded in a UINavigationController?
- iOS - Logout functionality
- How can I prevent the keyboard from covering up subviews on a UIViewController?
- Load a UIViewController with data from .plist
- Presenting a View Controller with a button in a UITableViewCell programmatically (Swift)
- why isnt my second view loading after transition?
- Implementing delegate methods in separate class
- Subclass as delegate of superclass
- Change UIWindow backgroundColor from UIViewController?
- IOS: Transition with modal ViewContorller
- viewControllers that doesn't appear
- passing data, still nil in the other ViewController
- calling parents viewcontroller method when dismissing child viewcontroller
Related Questions in IBOUTLETCOLLECTION
- Swift outlet collection - 'IBOutlet' property cannot be an array of non-'@objc' class type
- Nested for loops in swift 3 for uibuttons title
- IBOutletCollection - how is ordering applied to the array?
- Add textfield outlet collection together
- Use a pickerView on a outlet collection textfield
- Ownership of buttons via an IBOutletCollection
- IBOutletCollection objects indexed wrong
- Signal Sigabrt When using IBOutletCollection
- Unable to make outlets
- How to hide a bunch of labels in an IBOutletCollection?
- Should IBOutletCollections be set to nil in UIViewController viewDidUnload?
- frame of different objects in IBOutletCollection returns empty
- Is it possible to use something like an IBOutlet array?
- Using IBOutletCollections
- How to add a border all labels to an array of labels in an outlet collection in Swift?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
You need to set your outlets to
nilinviewDidUnloadin order to make sure that as much memory as possible can be released by the view controller when it receives a memory warning. In response to the memory warning, the view controller releases its view in order to free the memory the view (and all its subviews) is using. If you fail to release those outlets that you are retaining/holding a strong reference to, the subviews referenced by those outlets will not be destroyed and their memory won't be freed.So yes, you should also set the property of an outlet collection to
nilinviewDidUnload.This requirement is independent of the responsibility to release all your retained ivars/properties in
dealloc.