我是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];
当文本框中的“退出时结束”事件时调用此函数,但我遇到两个问题:
编写函数的正确方法是什么。无论我编写函数的方式是什么,我都会收到各种错误/警告
如何获取选择器的当前选择行,以便当我单击“返回”按钮时出现“退出时结束”事件时,我可以将其传递给此功能。
由于
吨。
答案 0 :(得分:0)
我不确定,我完全理解你到底想要做什么。但是我仍在继续你能做的就是:
首先声明一个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];
}
并在点击返回时调用此方法。 我希望这会对你有所帮助。
〜马诺吉