के साथ NSFetchedResultsController का उपयोग करना मेरे पास मेरे ऐप में UISearhBarController है। यह वर्तमान में एक ऑनलाइन डेटाबेस खोजता है, लेकिन मैं इसके बजाय कोर डेटा डेटाबेस खोजने के लिए इसे बदल रहा हूं। इसकी वर्तमान में इस कोड का उपयोग:UISearchBar
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
if (self.billingSearchBar == searchBar) {
[self.billingSearchController filterResultsUsingString:searchText];
}
}
- (void)filterResultsUsingString:(NSString *)filterString
{
self.billingSearchText = filterString;
NSArray *billing_codes = [self billingSearch:self.billingSearchText searchType:self.billingSearchCategory];
self.displayedBillingSearch = billing_codes;
self.billingSearch = billing_codes;
[self.tableView reloadData];
}
-(NSMutableArray*)billingSearch:(NSString*)searchString searchType:(NSString*)searchType
{
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@/server/20111115/60b88126/billing_search/", [self getHost]]];
ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:url] autorelease];
[request setPostValue:searchString forKey:@"query"];
[request setPostValue:searchType forKey:@"category"];
[request startSynchronous];
NSError *error = [request error];
NSString *responseString;
if (!error) {
responseString = [request responseString];
}
NSMutableArray *search_results = [[NSMutableArray alloc] init];
NSDictionary *responseDictionary = [responseString JSONValue];
for (id key in [responseDictionary valueForKey:@"search_results"]) {
[search_results addObject:key];
}
return search_results;
}
तो मैं कोर डेटा में डेटाबेस सेटअप पहले से ही है, मैं सिर्फ यह करने के लिए खोज/NSFetchedResults नियंत्रक ऊपर हुक करने की जरूरत है। ऐसा करने का कोई आसान तरीका?
मैं असहमत हूं। कहां कहता है कि भविष्यवाणी बदलना "इसे करने का अनुशंसित तरीका नहीं है"? 'NSFetchRequest' को अद्यतन करने के लिए आसान और क्लीनर भविष्यवाणी करें और एक नया fetch प्रदर्शन करें। एकाधिक 'NSFetchedResultsControllers' होने का अर्थ नहीं है। – gschandler
आप सही हैं, मैं सोच रहा था कि जब दो अलग-अलग डेटा सेट शामिल होते हैं, जब डेटासेट नहीं बदल रहा है और केवल अनुमान है, तो एक एफआरसी ठीक काम करेगा। –
सरल और कुशल समाधान! – Giovanni