Trying to hunt down the cause of crashing on certain devices. I am noticing that my view controllers are receiving didReceiveMemoryWarning, but NOT viewDidUnload. And according to Apple:
you would not use didReceiveMemoryWarning to release references to view objects, you might use it to release any view-related data structures that you did not already release in your viewDidUnload method. (The view objects themselves should always be released in the viewDidUnload method.)
So,
A: Why is viewDidUnload not called? I can't remove my view objects here if it is never called.
B: If I'm not supposed to remove my view objects in didReceiveMemoryWarning, where else would I do this?
C: Using ARC, should I still need to remove view objects, set arrays to nil, etc?
didReceiveMemoryWarningis specifically targeted not to the unloading of a view, but rather for the view controller to release objects which can easily be recreated (i.e. UIIamges and the like). You should not release objects in your view unless they can easily be recreated as necessary.