Ios 如何使用pickerView生成if语句
我有一个pickerView,根据pickerView中的选择,我需要一个按钮(计算按钮)来执行两个数学运算之一。pickerView有一个组件和两行(公行和母行)。如果用户选择男性,然后点击计算按钮,我希望程序使用一个公式。如果用户选择女性,然后单击“计算”按钮,我希望程序使用不同的公式。我厌倦了使用Ios 如何使用pickerView生成if语句,ios,xcode,if-statement,uipickerview,ibaction,Ios,Xcode,If Statement,Uipickerview,Ibaction,我有一个pickerView,根据pickerView中的选择,我需要一个按钮(计算按钮)来执行两个数学运算之一。pickerView有一个组件和两行(公行和母行)。如果用户选择男性,然后点击计算按钮,我希望程序使用一个公式。如果用户选择女性,然后单击“计算”按钮,我希望程序使用不同的公式。我厌倦了使用 -(IBaction)caclulate{ if ([pickerView isEqual:sexPickerView] ) { if ([objectAtIndex:0]) {
-(IBaction)caclulate{
if ([pickerView isEqual:sexPickerView] ) {
if ([objectAtIndex:0]) {
"do formula 0"
}
if ([objectAtIndex:1){
"do formula 1"
}
}
(do formula 0和1不是实际的代码…我有数学公式,但它们对这个问题并不重要,所以我做了简短的说明)
然而,这让我犯了两个错误。pickerView未声明,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卡路里最终[4289:207]*由于未捕获的异常“NSRangeException”而终止应用程序,原因:“*-[NSMutableArray objectAtIndex::]:索引1超出边界[0..0]”
当我取出if语句并分别尝试每个公式时,应用程序运行时不会出现问题。您需要的只是:
[pickerView selectedRowInComponent:0];
这将返回所选的行,在您的情况下为0或1
至于未声明的pickerView
,我不确定您试图使用的是什么pickerView
,或者应该在哪里声明。如果您已经有了对sexPickerView
的引用,只需忽略该检查,直接使用sexPickerView
编辑
作为对错误的响应,问题在于您尝试检查所选内容的方式。您只有一个组件,因此只能调用
[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"
}
}
您所需要的只是:
[pickerView selectedRowInComponent:0];
这将返回所选的行,在您的情况下为0或1
至于未声明的pickerView
,我不确定您试图使用的是什么pickerView
,或者应该在哪里声明。如果您已经有了对sexPickerView
的引用,只需忽略该检查,直接使用sexPickerView
编辑
作为对错误的响应,问题在于您尝试检查所选内容的方式。您只有一个组件,因此只能调用
[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"
}
}
我尝试了你的代码,遇到了一些问题。。。更新了我的问题,请你再看一次好吗?我尝试了你的代码,遇到了一些问题。。。更新了我的问题,请你再看一遍好吗?