Используйте UISeachBar с SQLite3
-
19-09-2019 - |
Вопрос
Я довольно новичок в разработке iPhone.
Во всяком случае, я искал сейчас 1,5 часа, чтобы найти возможность / учебник или что-то еще для добавления панели пользовательского поиска (она уже добавлена в RootViewController.XIB).Существует множество инструкций, описывающих, как подключить массив к панели пользовательского поиска.Что я хотел бы сделать, так это подключить мою уже работающую базу данных SQLite к UISearchBar, чтобы я мог выполнять полнотекстовый поиск.
Нравится..допустим, у меня есть 100 записей в моем UITableView из базы данных SQLite, и когда я ввожу строку "abc", тогда должны отображаться только соответствующие записи, включая abc.
Есть какие-нибудь идеи?
Заранее большое вам спасибо!
Решение
Ваш класс UISearchBarDelegate может установить соединение с базой данных и выполнить запрос где-нибудь в соответствии с:
NSString *sql = @"SELECT author FROM books WHERE title like ?||'%'";
sqlite3_stmt *stmt;
if (sqlite3_prepare_v2(database,
[sql cStringUsingEncoding:NSUTF8StringEncoding],
-1, &stmt, NULL) == SQLITE_OK) {
NSString *title = @"programming";
sqlite3_bind_text(stmt, 1, [title UTF8String], -1, SQLITE_TRANSIENT);
while (sqlite3_step(stmt) == SQLITE_ROW) {
NSString *author = sqlite3_column_string(stmt, 0);
NSLog(@"Add to presented authors: %@", author);
}
}
Вам необходимо установить соединение с базой данных, прежде чем запрашивать ее.
Есть хороший учебник здесь