से UITableView शीर्षलेख सेट करना मेरे पास NSFetchedResultsController
है जो NSManagedObjectContext
से ऑब्जेक्ट प्राप्त कर रहा है। मैं UITableView को पॉप्युलेट करने के लिए परिणामों का उपयोग कर रहा हूं।NSFetchedResultsController
मैं इन दो प्रकार के वर्णनकर्ताओं के साथ फ़िल्टर कर रहा हूं।
NSSortDescriptor *lastOpened =
[[NSSortDescriptor alloc] initWithKey:@"lastOpened" ascending:NO];
NSSortDescriptor *titleDescriptor =
[[NSSortDescriptor alloc] initWithKey:@"title" ascending:YES];
और जब मैं NSFetchedResultsController
बनाने के लिए, मैं sectionNameKeyPath:@"lastOpened"
के माध्यम से वर्गों को सॉर्ट।
अभी मेरे अनुभाग मानक प्रारूप प्रदर्शित करते हैं जैसे 200 9-07-02 20:51:27 -0400 और चूंकि एक ही समय में कोई भी दो खोला नहीं जा सकता है, वे सभी अद्वितीय हैं। मुझे उन्हें पूरे दिन जैसे समय/समय की सीमा को कवर करने की आवश्यकता है, और मानव-पठनीय रूप में होना चाहिए। कुछ गुरुवार, 2 जुलाई की तरह कुछ।
धन्यवाद!
संपादित करें:
यह सब एक UITableViewController
के अंदर है। यहां कुछ और कोड है।
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
// Display the dates as section headings.
return [[[fetchedResultsController sections] objectAtIndex:section] name];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
id <NSFetchedResultsSectionInfo> sectionInfo = [[fetchedResultsController sections] objectAtIndex:section];
return [sectionInfo numberOfObjects];
}
क्या आप तालिका को पॉप्युलेट करने के लिए बाइंडिंग का उपयोग कर रहे हैं या आपने UITableView के लिए डेटास्रोत लिखा है? –
प्रश्नकर्ता आईफोन के लिए विकास कर रहा है, इसलिए यह बाइंडिंग नहीं हो सकता है, क्योंकि यह कोको टच में मौजूद नहीं है। http://developer.apple.com/IPhone/library/documentation/ Miscellaneous/Conceptual/iPhoneOSTechOverview/PortingfromCocoa/PortingfromCocoa.html –
आपको अपने प्राप्त परिणाम नियंत्रक, btw पर 'NSPredicates' सेट करके परिणामों को फ़िल्टर करना चाहिए।आप अभी भी एक से अधिक तरीकों को सॉर्ट कर सकते हैं, लेकिन यदि आप केवल कुछ ऑब्जेक्ट्स दिखाना चाहते हैं, जहां कुछ "गुण सत्य हैं" (यानी एक अनुमान मिलता है) तो एनएसपीडिकेटेट्स का उपयोग करें। – jbrennan