Avoiding Massive Controllers
Brad Grzesiak (via Mark Bernstein):
Well, to be sure we’re on the same page, allow me propose rules that must be followed in order to adhere to this heuristic:
- The
IBActionmacro must not be used in a View Controller- The
@interfaceblock in a View Controller’s header file must be blank.- A View Controller may not implement any extra
*Delegateor*DataSourceprotocols except for observing Model changes.- A View Controller may only do work in
viewDidLoad(orawakeFromNib),viewDidAppear,viewDidDisappear, and in response to an observed change in the model layer.