Вы эффективно создаете синглтон.Если он не будет использоваться на протяжении всего сеанса работы вашего приложения, не беспокойтесь об использовании памяти.Даже если он будет использоваться только с перерывами, оставить один форматер даты вокруг не будет проблемой.
Т.е., как синглтон, не беспокойтесь об освобождении объекта до завершения приложения.
Если pretty
должен был быть запущен из нескольких потоков (и предполагая, что NSDateFormatter
сам по себе потокобезопасен - я не проверял документы и, таким образом, не пишу код без проверкибезопасность потоков), тогда вы захотите защитить инициализацию.
static dispatch_once_t onceMark;
static NSDateFormatter *formatter = nil;
dispatch_once(&onceMark, ^{
formatter = [[NSDateFormatter alloc] init];
[formatter setDateStyle:NSDateFormatterLongStyle];
[formatter setTimeStyle:NSDateFormatterNoStyle];
});