我想请教一个问题。 现在我正在使用 UISearchBar、TableView 和 Sqlite 在 iOS 中进行培训。 我有 sqlite 数据库,我想从该 sqlite 数据库中搜索数据,然后我想在 tableView 中显示该搜索数据。 我已经在 ViewDidLoad 事件中将数据选择到名为 myArray 的 NSMutableArray 中,如下面的代码。
- (void)viewDidLoad
{
[super viewDidLoad];
MyInfo *myInfo = [[MyInfo alloc] init];
myArray = [myInfo getInitialData]; // myArray is my NSMutableArray's variable name and getData From getInitialData Method.
[tableData addObjectsFromArray:myArray]; // tableData is my next NSMutableArray's variable name that i want to show search data in tableView.
}
就像那样。我将数据从 myArray 添加到 tableData 中。 然后我在 UISearchBar 的 textDidChange 事件中编写了一些代码,如下所示。
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
if([searchText isEqualToString:@""] || searchText==nil)
{
[myTableView reloadData];
return;
}
NSInteger counter = 0;
for(NSString *nameMe in myArray)
{
NSRange r = [[nameMe lowercaseString] rangeOfString:[searchText lowercaseString]];
if(r.location != NSNotFound)
{
if(r.location== 0)//that is we are checking only the start of the names.
{
[tableData addObject:nameMe];
}
}
counter++;
}
[myTableView reloadData];
}
但我无法从数据库中搜索数据。出现错误。 我想我的搜索代码错了。 我的列名称是我想从数据库中搜索的“名称”。 但是我不知道如何使用 UISearchBar 搜索数据。 如果我的代码有误,请告诉我如何从 sqlite 中搜索数据。 我只是 iOS 的初学者,请帮助我。
最好的问候,
最佳答案
这是 Link它正在做你想做的事情。只有你需要修改一点,示例中的 TableView 充满了 plist 元素(如果我错了,请纠正我,我很久以前就用过它)
您所要做的就是用来自 Sqlite 数据库的值填充数组。我也可以给你看,但我现在没有带 mac
如果它有效或您需要任何其他帮助,请告诉我...!!!!
干杯!!!
已更新
你是否分配了你的 NSMutatableArray?
类似的东西
NSMutableArray *myArray = [[NSMutableArray alloc] init];
关于objective-c - 如何在 iOS 中使用 UISearchBar 从 sqlite 中搜索数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9928521/