Objective c 如何在变量中存储pickerview选择?
为什么不将Objective c 如何在变量中存储pickerview选择?,objective-c,ios,uipickerview,Objective C,Ios,Uipickerview,为什么不将pickerView选择存储到我的mainMatrix对象的属性中 - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { [mainMatrix setM:[[self.numbers objectAtIndex:[pickerView selectedRowInComponent:0]] intValue]];
pickerView
选择存储到我的mainMatrix对象的属性中
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
[mainMatrix setM:[[self.numbers objectAtIndex:[pickerView selectedRowInComponent:0]] intValue]];
[mainMatrix setN:[[self.numbers objectAtIndex:[pickerView selectedRowInComponent:1]] intValue]];
}
您是否有相同的数组来填充pickerview中的两个组件??如果是,请尝试此代码
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
if(component == 0) {
[mainMatrix setM:[[self.numbers objectAtIndex:row] intValue]];
}else if(component == 1){
[mainMatrix setN:[[self.numbers objectAtIndex:row] intValue]];
}
}
您是否有相同的数组来填充pickerview中的两个组件??如果是,请尝试此代码
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
if(component == 0) {
[mainMatrix setM:[[self.numbers objectAtIndex:row] intValue]];
}else if(component == 1){
[mainMatrix setN:[[self.numbers objectAtIndex:row] intValue]];
}
}
将您的代码拆分,以便您可以实际看到发生了什么:
NSUInteger selectedRow = [pickerView selectedRowInComponent:0];
int num = [self.numbers[selectedRow] intValue];
[mainMatrix setM:num];
selectedRow = [pickerView selectedRowInComponent:1];
int num = [self.numbers[selectedRow] intValue];
[mainMatrix setN:num];
现在您可以调试代码并查看实际发生的情况。可读的、可调试的代码比将所有代码塞进一行要好得多
确保
mainMatrix
在代码的这一点上为非nil。还要确保self.numbers
为非零。最后(实际上是第一个),确保您已在选择器视图上设置了委托。将代码拆分,以便您可以实际看到发生了什么:
NSUInteger selectedRow = [pickerView selectedRowInComponent:0];
int num = [self.numbers[selectedRow] intValue];
[mainMatrix setM:num];
selectedRow = [pickerView selectedRowInComponent:1];
int num = [self.numbers[selectedRow] intValue];
[mainMatrix setN:num];
现在您可以调试代码并查看实际发生的情况。可读的、可调试的代码比将所有代码塞进一行要好得多
确保mainMatrix
在代码的这一点上为非nil。还要确保self.numbers
为非零。最后(实际上是首先),确保您已在picker视图上设置了委托
。检查[self.numbers objectAtIndex:[pickerView selectedRowInComponent:0]
是否实际返回了正确的值您需要在对pickerView中所选值的任何“完成”按钮执行操作时使用此代码…检查[self.numbers objectAtIndex:[pickerView SelectedRowUncomponent:0]
实际返回的是正确的值您需要使用此代码对pickerView中所选值的任何“完成”按钮执行操作。。。