使用sqlite搜索uisearchbar。 例如,用uisearchbar写的“home”一词,可以发送到查询:
SELECT * FROM table1 WHERE content MATCH'... ..'// here'....'被送到“家”
-(NSArray *)titles{
NSMutableArray * retval = [[[NSMutableArray alloc] init] autorelease];
NSString * query = @"SELECT * FROM table 1 WHERE content MATCH '…..' ";
sqlite3_stmt * statement;
if (sqlite3_prepare_v2(_database, query.UTF8String, -1, &statement, nil) == SQLITE_OK) {
while (sqlite3_step(statement) == SQLITE_ROW) {………..}}};
我想知道这是否可行,以及与示例的链接。 谢谢。
答案 0 :(得分:0)
答案 1 :(得分:0)
您必须确保视图控制器实现UISearchBarDelegate协议,然后添加以下方法
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
[self titles:searchText];
}
修改 标题 方法以接受字符串作为参数:
-(NSArray *)titles:(NSString *)toMatch
{
NSMutableArray * retval = [[[NSMutableArray alloc] init] autorelease];
NSString * query = [NSString stringWithFormat:@"SELECT * FROM table 1 WHERE content MATCH '%@'", toMatch];
sqlite3_stmt * statement;
if (sqlite3_prepare_v2(_database, query.UTF8String, -1, &statement, nil) == SQLITE_OK) {
while (sqlite3_step(statement) == SQLITE_ROW) {………..}}};
确保您的viewcontroller是UISearchBar的委托。