Получите выбранную строку в UIPickerView для каждого компонента

Я думаю, что они могут быть злыми, но только столь же злыми как что-либо еще в разработке.

, Хотя у меня действительно нет большого опыта с ними, у меня действительно были они на недавнем проекте, я работал, на котором имеет, приводят меня к этому заключению. Проблема, которую я имею с ними, они могут заставить бизнес-логику оказываться в двух местах, библиотека кода и база данных.

я рассматриваю его как подобный спор с использованием sprocs. У Вас часто будут разработчики, которые действительно хороши в бизнес-логике записи SQL в базу данных, в то время как у людей, которые не являются, будет своя бизнес-логика в другом месте.

, Таким образом, мое эмпирическое правило является взглядом на то, какова структура Вашего проекта. Если это кажется жизнеспособным, чтобы сохранить бизнес-логику в базе данных тогда, могло бы быть полезно иметь триггеры.

21
задан etolstoy 14 April 2014 в 15:11
поделиться

1 ответ

Итак, в методе действия кнопки вы можете сделать что-то вроде этого:

- (IBAction) showAlert {
  NSUInteger numComponents = [[myPickerView datasource] numberOfComponentsInPickerView:myPickerView];

  NSMutableString * text = [NSMutableString string];
  for(NSUInteger i = 0; i < numComponents; ++i) {
    NSUInteger selectedRow = [myPickerView selectedRowInComponent:i];
    NSString * title = [[myPickerView delegate] pickerView:myPickerView titleForRow:selectedRow forComponent:i];
    [text appendFormat:@"Selected item \"%@\" in component %lu\n", title, i];
  }

  NSLog(@"%@", text);
}

Это будет абсолютно формальный способ получения информации (с использованием надлежащего источника данных и методов делегирования), но может быть проще (в зависимости от вашей настройки) просто захватить выбранную строку и затем напрямую извлечь информацию из вашей модели, вместо того, чтобы использовать метод делегата.

46
ответ дан 29 November 2019 в 20:13
поделиться