#iphone #ios-simulator
#iPhone #ios-симулятор
Вопрос:
Я новичок в разработке для iPhone. Я использую tableview. В этой таблице я отображаю изображение и имя. Изображение взято из библиотеки фотографий, и это изображение сохраняется в моей базе данных.
После того, как я извлекаю данные из базы данных, данные отображаются в tableview. При прокрутке tableview программа останавливается. Почему это происходит?
И когда я обновляю выбранную строку из табличного представления, она отображается обновленной, но данные в базе данных не обновляются. Почему это происходит?
Я использую код для обновления данных из базы данных, но данные не обновляются в базе данных. я выполняю тот же запрос в базе данных sqlite в executequery, но они не показывают ошибку. if (sqlite3_open([path UTF8String], amp;compiledb) ==SQLITE_OK) {
NSLog (@»Обновить данные без изображения в базе данных»);
const char *UpdateQueryinon=»обновить tbl_AgeCalculation установить fld_name =?,fld_Emailid =? где fld_name =? «;
(sqlite3_prepare_v2(compiledb, UpdateQueryinon, -1, amp; sql_stmt, NULL));
printf(«neror:%s»,sqlite3_errmsg(compiledb));
if (sqlite3_prepare_v2(compiledb, UpdateQueryinon, -1, amp;sql_stmt, NULL) ==SQLITE_OK) {
printf («База данных, с которой нужно работать»);
sqlite3_bind_text(sql_stmt, 1, [name_out UTF8String], -1, SQLITE_STATIC); sqlite3_bind_text (sql_stmt,2,[emailid_out UTF8String], -1, SQLITE_STATIC); //sqlite3_bind_text (acs, 3, [name UTF8String], -1, SQLITE_STATIC);
NSLog (@»Обновление завершено»); } }
Комментарии:
1. Вы должны удалить четыре пробела перед
im
…2. Что-то, что может помочь в решении такого рода проблем, публикует журнал сбоев / отладки. Если вы хотите прокрутить tableview, программа вылетает? Или это просто останавливается? Также может помочь несколько подсказок о строках кода.
Ответ №1:
Обычная проблема в UITableViews, приводящая к сбою вашего приложения, связана с памятью, и обычно она заключается в методе
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
В этом методе вы, вероятно, не освобождаете ячейку, и каждый раз, когда вы прокручиваете таблицу, новые ячейки создаются в стекировании памяти, пока у вас не закончится память и приложение не выйдет из строя.
О вашей базе данных. Я не могу много сказать, если вы не предоставите нам код.