В типичном приложении iOS, где нужно разместить объекты широкого применения? Я хотел бы централизовать код форматирования даты, и мне было бы интересно услышать предложения по лучшим практикам для этого.Где подходящее место для размещения широкоформатного формата приложения в iOS?
К примеру, у меня есть следующий код, чтобы сделать форматирование даты:
NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
NSString *usFormatString = [NSDateFormatter dateFormatFromTemplate:@"EEE, MMM d YYY" options:0 locale:usLocale];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = usFormatString;
((UILabel *)[selectedCell.contentView viewWithTag:1]).text = [formatter stringFromDate:date];
Я хотел бы сохранить код форматирования как можно более сухим.
EDIT: Это оказалось многочастным ответом, и я принял подход использования комбинации Singleton и создания категории для NSString. Я поддержал большинство из вас, но я принял @Jack_Lawrence.
Интересно. Перед тем, как вы ответили, я создал класс Singleton «DateUtilies», который, кажется, работает нормально. Скажете ли вы, что ваше решение является более подходящим или встроенным в лучшие практики iOS? –
Я дал вам самый простой ответ (который, надеюсь, поможет другим людям встать на правильный путь, если они будут искать ваш вопрос по дороге). Ответ «Лучшая практика» здесь на самом деле очень субъективен и зависит от вашей реализации приложения, общей архитектуры MVC, вашего стиля и т. Д. –
Вы не должны произвольно добавлять материал в AppDelegate. Это самая распространенная причина причины плохого проектирования программного обеспечения в проектах iOS. Продолжайте делать это, ваша в конечном итоге будет монолитный класс, который не имеет сплоченности. – lorean