Даже при том, что я лично ненавижу его, , log4net, кажется, фактический стандарт для входа C#. Демонстрационное использование:
log4net.ILog log = log4net.LogManager.GetLogger(typeof(Program));
log.Error(“Some error”);
log.ErrorFormat("Error with inputs {0} and {1}", stringvar, intvar);
Способ 1.
Способ 2 позволяет первому контроллеру сохранять ссылку на перемещаемый контроллер представления. Если вам нужна эта ссылка, то это будет полезно.
Здесь нет четкого ответа. Это зависит от ваших потребностей. Общее правило, конечно, состоит в том, чтобы сделать код как можно более простым, но не проще.
Хм ... Для простоты, почему не просто:
MyViewController* viewController = [[MyViewController alloc] init];
[self.navigationController pushViewController:viewController animated:YES];
[viewController release];