Получить значение выбранного элемента объекта SegmentedControl - PullRequest
0 голосов
/ 06 февраля 2011

По эстетическим соображениям я отображаю символ валюты на сегментированном элементе управления, но я хотел бы вернуть код валюты в 3 буквы.Посмотрите, как я это сделал:

NSArray *itemArray = [NSArray arrayWithObjects: @"EUR", @"USD", @"GBP", nil];
self.writePriceCurrency = [[UISegmentedControl alloc] initWithItems:itemArray];

[self.writePriceCurrency setTitle:@"€" forSegmentAtIndex:0];
[self.writePriceCurrency setTitle:@"$" forSegmentAtIndex:1];
[self.writePriceCurrency setTitle:@"£" forSegmentAtIndex:2];

Я знаю, что мог бы просто switch() {} в функции, которая ловит изменение значения и возвращает правильный код в зависимости от индекса, но это было бы труднозакодированы.Я бы предпочел сделать это напрямую, чтобы в будущем я мог динамически изменять сегментированный контроль.

Не могли бы вы помочь мне понять, как мы получаем элемент, соответствующий выбранному сегменту?

1 Ответ

0 голосов
/ 06 февраля 2011

Может быть, вы можете инициировать NSDictionary, когда ключи являются символами, а затем инициировать сегменты с циклическим переключением по ключам.
тогда вы можете использовать [yourNSDictionary objectForKey: key:] для получения правильного кода валюты вфункция, которая ловит изменение значения.

...