I am using PFQueryTableViewController
and UISearchBar
. I am not using UISearchBarDisplayController
. The underlying query is only searching when I write the search string either in lowercase or uppercase. I want to use both. Either you write in lower case or uppercase, it will search. This is my piece of code.
-(PFQuery *)queryForTable
{
PFQuery *query;
if (self.canSearch == 0) {
query = [PFQuery queryWithClassName:@"_User"];
} else {
query = [PFQuery queryWithClassName:@"_User"];
//This is searchbar text.
//NSString *searchThis = [_searchbar.text upercaseString];
NSString *searchThis = [_searchbar.text lowercaseString];
[query whereKey:@"username" containsString:searchThis];
}
[query orderByAscending:@"username"];
// If Pull To Refresh is enabled, query against the network by default.
if (self.pullToRefreshEnabled) {
query.cachePolicy = kPFCachePolicyNetworkOnly;
}
// If no objects are loaded in memory, we look to the cache first to fill the table
// and then subsequently do a query against the network.
if (self.objects.count == 0) {
query.cachePolicy = kPFCachePolicyCacheThenNetwork;
}
return query;
}
- (PFQuery *)queryForTable {
// Use cached facebook friend ids
PFQuery *query = [PFUser query];
[query whereKey:@"Useridentifier" matchesRegex:searchBar_User.text];
PFQuery *query1 = [PFUser query];
[query1 whereKey:@"displayName" matchesRegex:searchBar_User.text];
PFQuery *userQuery = [PFQuery orQueryWithSubqueries:@[query, query1]];
userQuery.cachePolicy = kPFCachePolicyNetworkOnly;
if (self.objects.count == 0)
{
userQuery.cachePolicy = kPFCachePolicyCacheThenNetwork;
}
[userQuery orderByAscending:kPAPUserDisplayNameKey];
return userQuery;
return query;
}
hello You cant Manage This by Variable You just Show my Code Below
I think this code is very Helpful for you...