work around widgets ... not sure if they work
This commit is contained in:
@@ -6,8 +6,14 @@
|
||||
//
|
||||
|
||||
import CoreData
|
||||
import WidgetKit
|
||||
import Foundation
|
||||
import UIKit
|
||||
|
||||
struct PersistenceController {
|
||||
class PersistenceController {
|
||||
private var dataUpdateCall: (() -> Void)?
|
||||
private let callDelay = 10
|
||||
|
||||
static let shared = PersistenceController.persistenceController
|
||||
|
||||
private static var persistenceController: PersistenceController {
|
||||
@@ -38,28 +44,6 @@ struct PersistenceController {
|
||||
}
|
||||
}
|
||||
|
||||
public func moodEntries(forStartDate date: Date, count: Int) -> [MoodEntry] {
|
||||
let fetchRequest = NSFetchRequest<MoodEntry>(entityName: "MoodEntry")
|
||||
|
||||
fetchRequest.fetchLimit = count
|
||||
fetchRequest.sortDescriptors = [NSSortDescriptor(key: "forDate", ascending: false)]
|
||||
|
||||
// var calendar = Calendar.current
|
||||
// calendar.timeZone = NSTimeZone.local
|
||||
// let dateFrom = calendar.startOfDay(for: Date())
|
||||
// Set predicate as date being today's date
|
||||
// let fromPredicate = NSPredicate(format: "date <= %@", dateFrom as NSDate)
|
||||
// let datePredicate = NSCompoundPredicate(andPredicateWithSubpredicates: [fromPredicate])
|
||||
// fetchRequest.predicate = datePredicate
|
||||
let entries = try! viewContext.fetch(fetchRequest)
|
||||
|
||||
if entries.count >= count {
|
||||
return Array(entries)
|
||||
} else {
|
||||
return entries
|
||||
}
|
||||
}
|
||||
|
||||
public var earliestEntry: MoodEntry? {
|
||||
let fetchRequest = NSFetchRequest<MoodEntry>(entityName: "MoodEntry")
|
||||
fetchRequest.sortDescriptors = [NSSortDescriptor(key: "forDate", ascending: true)]
|
||||
@@ -75,6 +59,14 @@ struct PersistenceController {
|
||||
}
|
||||
|
||||
public func getData(startDate: Date, endDate: Date, includedDays: [Int]) -> [MoodEntry] {
|
||||
try! viewContext.setQueryGenerationFrom(.current)
|
||||
viewContext.refreshAllObjects()
|
||||
|
||||
let fakeRequest = NSFetchRequest<MoodEntry>(entityName: "MoodEntry")
|
||||
let fakeData = try! viewContext.fetch(fakeRequest)
|
||||
for item in fakeData {
|
||||
print(item.forDate!)
|
||||
}
|
||||
var includedDays16 = [Int16]()
|
||||
|
||||
if includedDays.isEmpty {
|
||||
@@ -84,17 +76,16 @@ struct PersistenceController {
|
||||
Int16($0)
|
||||
})
|
||||
}
|
||||
let predicate = NSPredicate(format: "%K >= %@ && %K <= %@ && weekDay IN %@",
|
||||
"forDate",
|
||||
let predicate = NSPredicate(format: "forDate >= %@ && forDate <= %@ && weekDay IN %@",
|
||||
startDate as NSDate,
|
||||
"forDate",
|
||||
endDate as NSDate,
|
||||
includedDays16)
|
||||
|
||||
let fetchRequest = NSFetchRequest<MoodEntry>(entityName: "MoodEntry")
|
||||
fetchRequest.predicate = predicate
|
||||
fetchRequest.sortDescriptors = [NSSortDescriptor(key: "forDate", ascending: true)]
|
||||
return try! viewContext.fetch(fetchRequest)
|
||||
let data = try! viewContext.fetch(fetchRequest)
|
||||
return data
|
||||
}
|
||||
|
||||
func populateTestData() {
|
||||
|
||||
Reference in New Issue
Block a user