为什么不将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]];
}
最佳答案
拆分代码,以便您可以实际看到发生了什么:
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
不为nil。最后(真的是首先),请确保已在选择器视图上设置了delegate
。关于objective-c - 如何将uipickerview选择存储在变量中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13145390/