Моя цель - создать уникальную строку на основе временной метки и некоторой другой информации. Я буду делать это много раз, используя базу кода, поэтому повторное использование кода и ремонтопригодность подразумевают, что я должен сделать одно место для этого.Должен ли я использовать категорию или пользовательский вспомогательный класс?
Поскольку это уникальный идентификатор будет всегда храниться в NSString, я мог бы сделать категорию на NSString, который будет создавать этот уникальный идентификатор ...
NSString *uniqueString = [NSString stringWithTimestamp:timestamp andName:name];
Или я мог бы создать собственный вспомогательный класс с классом метод возвращает уникальную строку строку ...
NSString *uniqueString = [HelperClass stringWithTimestamp:timestamp andName:name];
не будет создавать класс помощника, как правило, лучше, потому что я могу импортировать его в другие проекты и использовать этот метод, а также другие неродственные методы, которые я, возможно, создал (легко содержать все в одном файле)? Если бы я использовал категории, они были бы распределены в кучу разных файлов.
Но это не может быть правильно, потому что с этой логикой редко бывают потребности в категориях и просто всегда создайте вспомогательный класс для проекта с этими вспомогательными методами в нем ... Мне что-то не хватает!
Я не вижу логики для того, чтобы сделать его методом категории на 'NSString'. Просто потому, что он возвращает строку, это не значит, что она имеет какое-либо отношение к классу 'NSString'. – rmaddy