Search code examples
iosuisearchbarpfquerypfquerytableviewcontrolle

UISearchbar and PFQueryTableViewController


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;
 }

Solution

  • - (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...