У меня есть форма (табличное представление), которая содержит текстовые поля и текстовое представление в качестве подпредставлений, мне нужно сохранить данные, заполненные в этих полях. Поэтому я использовал sqlite3.Все все работает отлично, сохраняя получение и отображение сохраненных данных. Но в таблице у меня есть одна ячейка, которая содержит кнопку в качестве подпредставления. Как мы знаем, в iphone нет понятия, называемого кнопкой-флажком. Поэтому я использовал кнопку и добавил изображение по умолчанию в качестве подпредставления, показанного ниже:
Когда кнопка не выбрана, изображение не изменяется.
Теперь, когда пользователь выбирает кнопку, изображение меняется на галочку, указывающую, что логика работает каждый год, как показано ниже:
Теперь мой вопрос: как сохранить изображение кнопки в sqlite3.Я использовал следующий запрос для вставки значений:
NSString *insertSQL = [NSString stringWithFormat:@"INSERT INTO reminders(name,event,date,tim,bfr,num,bod,grp) VALUES (\"%@\", \"%@\", \"%@\", \"%@\", \"%@\",\"%@\", \"%@\", \"%@\")", fieldOne.text, fieldTwo.text,fieldThree.text,fieldFour.text,fieldFive.text,fieldSix.text,textView.text,fieldSeven.text];
Точно так же, как я могу сохранить кнопку с изображением как подпредставление в sqlite3.Я слышал, что в sqlite3.I нет такого понятия, как хранение значений BOOL. Вместо этого он хранится как значения типа int, то есть «0» как ложь и «1» как истина . Поэтому я использовал следующий запрос для вставки изображения кнопки:
int selValue;
if(checkboxSelected == NO)
{
selValue = 0;
}
else if(checkboxSelected == YES)
{
selValue = 1;
}
NSString *insertSQL = [NSString stringWithFormat:@"INSERT INTO reminders(name,event,date,tim,bfr,val,num,bod,grp) VALUES (\"%@\", \"%@\", \"%@\", \"%@\", \"%@\", \"%@\",\"%@\", \"%@\", \"%@\")", fieldOne.text, fieldTwo.text,fieldThree.text,fieldFour.text,fieldFive.text,isSelected,fieldSix.text,textView.text,fieldSeven.text];
В консоли значение selValue отображается как 1, если кнопка нажата, и 0, если нет.
Но у меня есть страница контроллера, которая называется просмотр, редактирование напоминаний, где пользователь может просматривать сохраненное напоминание и редактировать изменения. Теперь я сохранил напоминание под названием Amma, там при сохранении я выбрал кнопку «Каждый год», но ее не работает, даже если вставленные данные возвращаются для напоминания, как показано ниже:
EDIT:
Код, который я реализовал для извлечения данных из таблицы базы данных sqlite3:
ReminderClass *remind = [[ReminderClass alloc]init];
remind.Name = [[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statment, 1)];
remind.Event = [[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statment, 2)];
remind.Date = [[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statment, 3)];
remind.time = [[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statment, 4)];
remind.numDays = [[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statment, 5)];
remind.selString = [[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statment, 6)]];
remind.number = [[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statment, 7)];
remind.msgBody = [[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statment, 8)];
remind.remGroup = [[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statment, 9)];
EDIT:
Вот что я сделал для редактирования контента:
-(void)tableView:(UITableView *)atableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (aTable.editing)
{
ReminderClass *rem = (ReminderClass *)[self.monthArray objectAtIndex:indexPath.section];
// Instantiate your detail/editor view controller,
// and pass in the ReminderClass object to be edited.
ERAddReminderViewController *rdvc = [[[ERAddReminderViewController alloc]initWithReminder:rem]autorelease];
[self.navigationController pushViewController:rdvc animated:YES];
}
[atableView deselectRowAtIndexPath:indexPath animated:YES];
}
Пожалуйста, помогите мне с вашими ценными предложениями
Спасибо всем заранее:)