我正在構建一個iPhone應用程序從SQLite數據庫加載數據。到現在爲止我已經成功,因爲它應該處理這個問題,但現在我需要添加一個搜索欄頂部通過數據庫內容動態搜索和獲得適當的搜索結果。通過SQLite數據庫使用搜索欄
我使用Xcode 4.3.3,並且我是Xcoding中的一個新手。
我所看到的幾乎每一個教程曾經在網上公佈,我需要一些幫助。
任何人有什麼很具體的教程或示例代碼,可以幫助?它將不勝感激。
我正在構建一個iPhone應用程序從SQLite數據庫加載數據。到現在爲止我已經成功,因爲它應該處理這個問題,但現在我需要添加一個搜索欄頂部通過數據庫內容動態搜索和獲得適當的搜索結果。通過SQLite數據庫使用搜索欄
我使用Xcode 4.3.3,並且我是Xcoding中的一個新手。
我所看到的幾乎每一個教程曾經在網上公佈,我需要一些幫助。
任何人有什麼很具體的教程或示例代碼,可以幫助?它將不勝感激。
你可以使用一個NSPredicate。 http://developer.apple.com/library/ios/#DOCUMENTATION/Cocoa/Reference/Foundation/Classes/NSPredicate_Class/Reference/NSPredicate.html
[NSPredicate predicateWithFormat:@"whatYouAreSearching LIKE %@", searchBar.text];
如果您使用的是NSFetchRequest,您可以使用它的方法setPredicate分配給它一個謂語。
你的控制器必須實現UISearchBarDelegate協議
然後在init()方法中,添加這種或類似
CGRect searchBarRect = CGRectMake(0, 0, self.view.bounds.size.width, 44);
_searchBar = [[UISearchBar alloc] initWithFrame:searchBarRect];
_searchBar.delegate = self;
後,實現這三種方法,我會後的東西,看起來像我實現
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar {
[searchBar setShowsCancelButton:YES animated:YES];
self.tableView.allowsSelection = NO;
self.tableView.scrollEnabled = NO;
}
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
[email protected]"";
[searchBar setShowsCancelButton:NO animated:YES];
[searchBar resignFirstResponder];
self.tableView.allowsSelection = YES;
self.tableView.scrollEnabled = YES;
}
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
[searchBar setShowsCancelButton:NO animated:YES];
[searchBar resignFirstResponder];
self.tableView.allowsSelection = YES;
self.tableView.scrollEnabled = YES;
/* fire method that does querying with searchBar.text as attribute */
[self some method:searchBar.text];
}
首先感謝您的答覆,第二,做的查詢方法,我怎樣才能真正建立這樣的......以下幾個教程中,我丟了,怎麼辦自動搜索並過濾數據? – 2012-07-17 05:49:29
哪一部分是造成麻煩,處理事件的UISearchBar或查詢數據庫? – 2012-07-16 12:36:17
實際上傳遞查詢到搜索欄 – 2012-07-16 13:28:20