我有一个pickerView,根据pickerView中的选择,我想要一个按钮(计算按钮)来执行两个数学运算之一。 pickerView有一个组件,2行男性和女性。如果用户选择男性,然后点击计算按钮,我希望程序使用一个公式。如果用户选择女性,然后他的计算按钮,我希望程序使用不同的公式。我累了用。
-(IBaction)caclulate{
if ([pickerView isEqual:sexPickerView] ) {
if ([objectAtIndex:0]) {
"do formula 0"
}
if ([objectAtIndex:1){
"do formula 1"
}
}
(“做公式0和1”不是实际的代码......我有数学公式,但那些对这个问题并不重要,所以我这么做了)
但是,这给我带来了两个错误。 pickerView unclared和objectAtIndex未声明。我是编程的新手,所以我想做的就是远离基础......
任何人都知道如何做我需要的事情吗?
更新
-(IBAction)calculate{
if ([sexPickerView selectedRowInComponent:0]) {
"do formula 0"
}
//female
if ([sexPickerView selectedRowInComponent:1]) {
"do formula 1"
}
}
这就是我所说的,现在当我点击计算按钮时,我收到一个错误
[会议开始于2012-08-08 16:04:33 -0500。] 2012-08-08 16:05:26.580 CalorieAppFinal [4289:207] *由于未捕获的异常'NSRangeException'终止应用程序,原因:'* - [NSMutableArray objectAtIndex:]:索引1超出边界[ 0 .. 0]'
当我取出if语句并单独尝试每个公式时,应用程序运行没有问题..
答案 0 :(得分:1)
您只需要:
[pickerView selectedRowInComponent:0];
这将返回您选择的行,在您的情况下为0或1
至于pickerView
没有被声明,我不确定你试图使用什么pickerView
,或者它应该被声明的地方。如果您已经引用了sexPickerView
,请忽略该检查并直接使用sexPickerView
修改强>
为了回应您的错误,问题在于您尝试检查所选内容的方式。您只有1个组件,因此您只能调用
[sexPickerView selectedRowInComponent:0];
您将0
更改为1
,但它不起作用。该函数返回的是您要检查的0
或1
。所以你的计算函数应该是这样的:
-(IBAction)calculate{
if ([sexPickerView selectedRowInComponent:0] == 0) {
"do formula 0"
}
//female
if ([sexPickerView selectedRowInComponent:0] == 1) {
"do formula 1"
}
}