我想問一個問題。 現在我正在使用UISearchBar,TableView和Sqlite在iOS中進行培訓。 我有sqlite數據庫,我想從該sqlite數據庫中搜索數據,然後我想在tableView中顯示搜索數據。 我已經在ViewDidLoad事件中將數據選擇到名爲myArray的NSMutableArray中,如下面的代碼。如何在iOS中使用UISearchBar從sqlite搜索數據?
- (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 Events中編寫了一些代碼。從database.There
- (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的初學者,請幫助我。
最好的問候,
如果有樣品的iOS項目的UISearchBar用的UITableView和SQLite數據庫,請分享我!謝謝 – 2012-03-29 15:49:43