Switches to Core Data model objects

This commit is contained in:
Riley Testut
2019-05-20 21:24:53 +02:00
parent 65a8414727
commit c3a8abf8dc
13 changed files with 272 additions and 121 deletions

View File

@@ -0,0 +1,48 @@
//
// DatabaseManager.swift
// AltStore
//
// Created by Riley Testut on 5/20/19.
// Copyright © 2019 Riley Testut. All rights reserved.
//
import CoreData
import Roxas
public class DatabaseManager
{
public static let shared = DatabaseManager()
public let persistentContainer: RSTPersistentContainer
public private(set) var isStarted = false
private init()
{
self.persistentContainer = RSTPersistentContainer(name: "AltStore")
}
}
public extension DatabaseManager
{
func start(completionHandler: @escaping (Error?) -> Void)
{
guard !self.isStarted else { return completionHandler(nil) }
self.persistentContainer.loadPersistentStores { (description, error) in
guard error == nil else { return completionHandler(error!) }
self.isStarted = true
completionHandler(error)
}
}
}
public extension DatabaseManager
{
var viewContext: NSManagedObjectContext {
return self.persistentContainer.viewContext
}
}