为什么不将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/

10-14 22:37