You should pass parameters to a custom init
method if those values are needed immediately in the implementation of the init
method.
You should use properties, that are set just after calling alloc/init
, if you have several properties to set and those properties aren't needed in the init
method itself.
Many times the properties aren't needed until viewDidLoad
(in the case of a view controller) so using properties is cleaner. You don't want to end up with an init
method with a dozen parameters.