Я думаю, что они могут быть злыми, но только столь же злыми как что-либо еще в разработке.
, Хотя у меня действительно нет большого опыта с ними, у меня действительно были они на недавнем проекте, я работал, на котором имеет, приводят меня к этому заключению. Проблема, которую я имею с ними, они могут заставить бизнес-логику оказываться в двух местах, библиотека кода и база данных.
я рассматриваю его как подобный спор с использованием sprocs. У Вас часто будут разработчики, которые действительно хороши в бизнес-логике записи SQL в базу данных, в то время как у людей, которые не являются, будет своя бизнес-логика в другом месте.
, Таким образом, мое эмпирическое правило является взглядом на то, какова структура Вашего проекта. Если это кажется жизнеспособным, чтобы сохранить бизнес-логику в базе данных тогда, могло бы быть полезно иметь триггеры.
Итак, в методе действия кнопки вы можете сделать что-то вроде этого:
- (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);
}
Это будет абсолютно формальный способ получения информации (с использованием надлежащего источника данных и методов делегирования), но может быть проще (в зависимости от вашей настройки) просто захватить выбранную строку и затем напрямую извлечь информацию из вашей модели, вместо того, чтобы использовать метод делегата.