Обновление метки на основе значения средства выбора при первой загрузке представления - PullRequest
0 голосов
/ 26 июня 2011

Я новичок в разработке для 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. Как получить строку выбранного в данный момент средства выбора, чтобы я мог передать ее этой функции, когда происходит событие «Закончилось ли при выходе», когда я нажимаю кнопку «Возврат».

Спасибо

* Т. +1028 *

1 Ответ

0 голосов
/ 26 июня 2011

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

прежде всего объявляем переменную класса типа 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. Я надеюсь, что это поможет вам.

~ Манодж

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...