कोई भी मदद बहुत अच्छी रहेगी। कोर डेटा नियत तारीख और नियत समय दोनों के लिए "दिनांक" का उपयोग कर रहा है। मान स्विफ्ट यूआई पिकर (प्रदर्शित कॉम्पोनेंट्स: .डेट) और (डिस्प्ले कॉम्पोनेंट्स: .hourAndMinute) से हैं। यह सही ढंग से क्रमबद्ध नहीं है।

var fetchCategories = [Category]()
            let request: NSFetchRequest<Category> = Category.fetchRequest()
            let predicate = NSPredicate(format: "isComplete == 0")
            let sortDueDate = NSSortDescriptor(key: "dueDate", ascending: true)
            let sortDueTime = NSSortDescriptor(key: "dueTime", ascending: false)
            let sortDescriptors = [sortDueDate, sortDueTime]
            request.sortDescriptors = sortDescriptors
            request.predicate = predicate
            do {
                fetchCategories = try moc.fetch(request)
            } catch {
                print("Error fetching categories \(error.localizedDescription)")
            }
            return fetchCategories

enter image description here

0
debratton 6 अप्रैल 2020, 00:48

1 उत्तर

सबसे बढ़िया उत्तर

कोर डेटा में एक Date विशेषता दिनांक और समय दोनों को संग्रहीत करती है। मैं अनुमान लगा रहा हूं कि dueTime विशेषता में एक तारीख है जो dueDate तारीख के बाद की है, जिससे सॉर्ट की समस्या हो रही है।

समाधान dueDate को केवल एक विशेषता के रूप में संग्रहीत करना है। इस विशेषता में दिनांक और समय दोनों शामिल हैं, जिन्हें आप अपने उपयोगकर्ता इंटरफ़ेस में अलग से संशोधित कर सकते हैं। आपको केवल एक SortDescriptor की भी आवश्यकता है।

0
Ch Ryder 6 अप्रैल 2020, 10:25