Обновление метки на основе значения средства выбора при самой первой загрузке представления

Я новичок в разработке iPhone, поэтому приношу свои извинения, если это нелепый вопрос.

Я следую примеру из книги, где он создает UIPicker обменного курса, и когда вы выбираете одну из записей, он отображает преобразование долларов США в любую выбранную валюту.

Я хочу, чтобы значение обновлялось в моей метке, прежде чем я начну изменять значение из средства выбора.

В самый первый раз, когда я ввожу свое значение в долларах США в текстовое поле и нажимаю кнопку «Возврат», я хочу, чтобы метка обновлялась и отображала эквивалентное значение в любой валюте, выбранной в данный момент в средстве выбора.

У меня есть правильный код в событии didSelectRow, и эта часть работает, пока я начинаю вращать колеса компонентов сборщика, поэтому я решил взять этот код и поместить его в функцию, которая будет иметь один параметр, то есть строку и эту функцию затем будет вызываться из didSelectRow, где будет передан параметр строки, а затем я бы:

Это код из didSelectRow:

float rate = [[exchangeRates objectAtIndex:row] floatValue];
float dollars = [dollarText.text floatValue];
float result = dollars * rate;

NSString *resultString = [[NSString alloc] initWithFormat:@"%.2f USD = %.2f %@", dollars, result, [countryNames objectAtIndex:row]];

resultLabel.text = resultString;
[resultString release];

Вызовите эту функцию, когда для текстового поля произошло событие «Завершение при выходе», но у меня две проблемы:

  1. Как правильно написать функцию. Каким бы способом я ни писал функцию, я получаю различные ошибки / предупреждения

  2. Как мне получить текущую выбранную строку средства выбора, чтобы я мог передать ее этой функции, когда происходит событие «Did End on Exit», когда я нажимаю кнопку «Return».

Спасибо

T.


person Thierry    schedule 26.06.2011    source источник


Ответы (1)


Я не уверен, я полностью вас понял, что именно вы здесь пытаетесь сделать. но все же я продолжу то, что вы можете сделать здесь:

Прежде всего объявите переменную класса типа int, которая будет хранить индекс строки всякий раз, когда будет вызван didSelectRow метод делегата, а в среднем создайте такой метод, как:

- (void) updateLabel: (int) rowIndex

{

float rate = [[exchangeRates objectAtIndex:row] floatValue];
float dollars = [dollarText.text floatValue];
float result = dollars * rate;

NSString *resultString = [[NSString alloc] initWithFormat:@"%.2f USD = %.2f %@",       dollars, result, [countryNames objectAtIndex:rowIndex]]; // here it will go rowIndex which is the row value you stored in your variable



resultLabel.text = resultString;
   [resultString release];

}

и вызовите этот метод, когда нажмете return. Я надеюсь, это поможет вам.

~ Манодж

person Manoj    schedule 26.06.2011
comment
Спасибо, Манодж, извини, что так долго не возвращался. Только что вернулся из отпуска ... и это именно то, что я искал. Как я уже сказал, я все еще только изучаю, как работать со всеми различными элементами управления ... еще раз спасибо. Т. - person Thierry; 31.07.2011