I have the following property
.h
@property (nonatomic, strong) NSMutableDictionary *cache;
.m
@synthesize cache = _cach
Can not answer for ARC, but viewdidUnload does not mean the VC is released. It means the view is being released. To force it, you can try having a NavigationController, push a couple of views, and in Simulator send some Memory Warnings. viewDidUnload will be called for the vcs that are not the top one.
Re: ARC, you can surely have a dealloc method, that will be called when the vc is released. Simply don't call super.