Если значение фильтра может быть только небольшим постоянным числом, просто используйте перечисление и оператор switch:
enum Filter
{
ColorFilter,
FooFilter,
BarFilter
};
- (void)filterSelected:(Filter)filter
{
switch(filter)
{
case ColorFilter:
self.colorFilter = ...;
break;
case FooFilter:
self.fooFilter = ...;
break;
case BarFilter:
self.barFilter = ...;
break;
}
}
Если набор значений фильтра велик и может часто меняться, вы также можете использовать Кодирование значения ключа . Это сложнее, но более гибко.