У меня возник вопрос о стиле решения для довольно простой проблемы.Соответствие строки нескольким шаблонам
У меня есть программа, которая соответствует списку имен файлов по нескольким шаблонам. Если имя файла соответствует шаблону, файл переименовывается, а счетчик увеличивается.
В настоящее время я соответствие с 4-х различных моделей, как этот
if ([file rangeOfString:pattern].location != NSNotFound) {
counter ++;
//rename file...
}
if ([file rangeOfString:pattern2].location != NSNotFound) {
counter2 ++;
//rename file...
}
[...]
решение работает хорошо, но не масштабируется. Если мне придется сопоставлять значительно больше шаблонов.
Так я думал об использовании нечто вроде
NSString *someRegexp = ...;
NSPredicate *myTest = [NSPredicate predicateWithFormat:file, someRegexp];
if ([myTest evaluateWithObject: testString]){
}
Однако, я не вижу какой-либо способ, чтобы увеличить счетчики в таком растворе, поскольку они зависят от точного совпадения ....
Так Мне было интересно, здесь кто-нибудь знает, является ли более полный/красивое решение для этой проблемы .....
заранее спасибо Norbert
Как насчет размещения шаблонов в массиве и прокрутки файлов через них? –
Это было одно из моих рассмотренных решений. Тем не менее, мне также пришлось бы поместить счетчики в массив. Это закончилось бы массивом структур/объектов ..... Моя первоначальная мысль об этом решении была слишком сложной :-( В частности, начальная сложность довольно высокая, так что для моих 4 шаблонов скорее всего даже будет больше кода ... – Norbert
Вы хотите, чтобы у вас был уникальный счетчик для каждого шаблона? –