Я новичок в программировании для iPhone и Objective C, но могу заставить свой код работать. Я просто не уверен, что это лучший способ сделать это, потому что он требует много кода и выглядит не очень красиво.
У меня есть колесо UIPickerView, которое имеет 5 компонентов, 120 многомерных массивов (каждый с 13 строками и 7 столбцами), которые я поместил прямо в методе «DidSelectRow».
Мои два вопроса:
1) Не стоит ли мне поместить все эти массивы в метод, а вместо этого научиться размещать их в отдельный файл, возможно, в базу данных SQL? Как я уже сказал, окно выбора отлично работает, просто оно не очень красиво для кода и, возможно, не позволяет моему приложению работать настолько эффективно, насколько это возможно.
2) Со всеми компонентами и массивами в моем UIPickerView единственный способ, которым я смог получить свои данные из массивов для правильного отображения, когда выбрана определенная комбинация колес выбора, было написать МНОГО «если» и « еще если "заявления. Это выглядит нелепо и должен быть лучший способ! Я не мог понять, могу ли я использовать или как использовать оператор Switch для моего метода. Я включил пример кода, если это поможет любому понять, что я пытаюсь сделать.
Спасибо за помощь заранее!
if (pressAltWheel == 0 && antiIceWheel == 0 && thrustWheel == 0)
{
{
//4600ft
if (tempWheel == 9 && runwayLengthWheel == 0)
weightValue.text = [NSString stringWithFormat:@"%@",column0[0][0]];
else if (tempWheel == 11 && runwayLengthWheel == 0)
weightValue.text = [NSString stringWithFormat:@"%@",column0[1][0]];
else if (tempWheel == 13 && runwayLengthWheel == 0)
weightValue.text = [NSString stringWithFormat:@"%@",column0[2][0]];
else if (tempWheel == 15 && runwayLengthWheel == 0)
weightValue.text = [NSString stringWithFormat:@"%@",column0[3][0]];
else if (tempWheel == 16 && runwayLengthWheel == 0)
weightValue.text = [NSString stringWithFormat:@"%@",column0[4][0]];
else if (tempWheel == 17 && runwayLengthWheel == 0)
weightValue.text = [NSString stringWithFormat:@"%@",column0[5][0]];
else if (tempWheel == 18 && runwayLengthWheel == 0)
weightValue.text = [NSString stringWithFormat:@"%@",column0[6][0]];
else if (tempWheel == 19 && runwayLengthWheel == 0)
weightValue.text = [NSString stringWithFormat:@"%@",column0[7][0]];
else if (tempWheel == 20 && runwayLengthWheel == 0)
weightValue.text = [NSString stringWithFormat:@"%@",column0[8][0]];
else if (tempWheel == 21 && runwayLengthWheel == 0)
weightValue.text = [NSString stringWithFormat:@"%@",column0[9][0]];
else if (tempWheel == 22 && runwayLengthWheel == 0)
weightValue.text = [NSString stringWithFormat:@"%@",column0[10][0]];
else if (tempWheel == 23 && runwayLengthWheel == 0)
weightValue.text = [NSString stringWithFormat:@"%@",column0[11][0]];
else if (tempWheel == 24 && runwayLengthWheel == 0)
weightValue.text = [NSString stringWithFormat:@"%@",column0[12][0]];
}
//5300ft
{
if (tempWheel == 9 && runwayLengthWheel == 1)
weightValue.text = [NSString stringWithFormat:@"%@",column0[0][1]];
else if (tempWheel == 11 && runwayLengthWheel == 1)
weightValue.text = [NSString stringWithFormat:@"%@",column0[1][1]];
else if (tempWheel == 13 && runwayLengthWheel == 1)
weightValue.text = [NSString stringWithFormat:@"%@",column0[2][1]];
else if (tempWheel == 15 && runwayLengthWheel == 1)
weightValue.text = [NSString stringWithFormat:@"%@",column0[3][1]];
else if (tempWheel == 16 && runwayLengthWheel == 1)
weightValue.text = [NSString stringWithFormat:@"%@",column0[4][1]];
else if (tempWheel == 17 && runwayLengthWheel == 1)
weightValue.text = [NSString stringWithFormat:@"%@",column0[5][1]];
else if (tempWheel == 18 && runwayLengthWheel == 1)
weightValue.text = [NSString stringWithFormat:@"%@",column0[6][1]];
else if (tempWheel == 19 && runwayLengthWheel == 1)
weightValue.text = [NSString stringWithFormat:@"%@",column0[7][1]];
else if (tempWheel == 20 && runwayLengthWheel == 1)
weightValue.text = [NSString stringWithFormat:@"%@",column0[8][1]];
else if (tempWheel == 21 && runwayLengthWheel == 1)
weightValue.text = [NSString stringWithFormat:@"%@",column0[9][1]];
else if (tempWheel == 22 && runwayLengthWheel == 1)
weightValue.text = [NSString stringWithFormat:@"%@",column0[10][1]];
else if (tempWheel == 23 && runwayLengthWheel == 1)
weightValue.text = [NSString stringWithFormat:@"%@",column0[11][1]];
else if (tempWheel == 24 && runwayLengthWheel == 1)
weightValue.text = [NSString stringWithFormat:@"%@",column0[12][1]];
}