Browse Source

Rename 'persistentContainer' to 'container'

pull/195/head
Angelo Stavrow 2 years ago
parent
commit
2f1b895df5
No known key found for this signature in database GPG Key ID: 1A49C7064E060EEE
13 changed files with 34 additions and 34 deletions
  1. +1
    -1
      Shared/Account/AccountLogoutView.swift
  2. +5
    -5
      Shared/Extensions/WriteFreelyModel+APIHandlers.swift
  3. +7
    -7
      Shared/LocalStorageManager.swift
  4. +1
    -1
      Shared/Navigation/ContentView.swift
  5. +2
    -2
      Shared/PostCollection/CollectionListView.swift
  6. +3
    -3
      Shared/PostEditor/PostEditorModel.swift
  7. +3
    -3
      Shared/PostEditor/PostEditorStatusToolbarView.swift
  8. +3
    -3
      Shared/PostList/PostCellView.swift
  9. +2
    -2
      Shared/PostList/PostListModel.swift
  10. +1
    -1
      Shared/PostList/PostListView.swift
  11. +3
    -3
      Shared/PostList/PostStatusBadgeView.swift
  12. +1
    -1
      Shared/WriteFreely_MultiPlatformApp.swift
  13. +2
    -2
      iOS/PostEditor/PostEditorView.swift

+ 1
- 1
Shared/Account/AccountLogoutView.swift View File

@@ -58,7 +58,7 @@ struct AccountLogoutView: View {
let request = WFAPost.createFetchRequest() let request = WFAPost.createFetchRequest()
request.predicate = NSPredicate(format: "status == %i", 1) request.predicate = NSPredicate(format: "status == %i", 1)
do { do {
let editedPosts = try LocalStorageManager.standard.persistentContainer.viewContext.fetch(request)
let editedPosts = try LocalStorageManager.standard.container.viewContext.fetch(request)
if editedPosts.count == 1 { if editedPosts.count == 1 {
editedPostsWarningString = "You'll lose unpublished changes to \(editedPosts.count) edited post. " editedPostsWarningString = "You'll lose unpublished changes to \(editedPosts.count) edited post. "
} }


+ 5
- 5
Shared/Extensions/WriteFreelyModel+APIHandlers.swift View File

@@ -99,7 +99,7 @@ extension WriteFreelyModel {
let fetchedCollections = try result.get() let fetchedCollections = try result.get()
for fetchedCollection in fetchedCollections { for fetchedCollection in fetchedCollections {
DispatchQueue.main.async { DispatchQueue.main.async {
let localCollection = WFACollection(context: LocalStorageManager.standard.persistentContainer.viewContext)
let localCollection = WFACollection(context: LocalStorageManager.standard.container.viewContext)
localCollection.alias = fetchedCollection.alias localCollection.alias = fetchedCollection.alias
localCollection.blogDescription = fetchedCollection.description localCollection.blogDescription = fetchedCollection.description
localCollection.email = fetchedCollection.email localCollection.email = fetchedCollection.email
@@ -130,7 +130,7 @@ extension WriteFreelyModel {
} }
let request = WFAPost.createFetchRequest() let request = WFAPost.createFetchRequest()
do { do {
let locallyCachedPosts = try LocalStorageManager.standard.persistentContainer.viewContext.fetch(request)
let locallyCachedPosts = try LocalStorageManager.standard.container.viewContext.fetch(request)
do { do {
var postsToDelete = locallyCachedPosts.filter { $0.status != PostStatus.local.rawValue } var postsToDelete = locallyCachedPosts.filter { $0.status != PostStatus.local.rawValue }
let fetchedPosts = try result.get() let fetchedPosts = try result.get()
@@ -146,7 +146,7 @@ extension WriteFreelyModel {
} }
} else { } else {
DispatchQueue.main.async { DispatchQueue.main.async {
let managedPost = WFAPost(context: LocalStorageManager.standard.persistentContainer.viewContext)
let managedPost = WFAPost(context: LocalStorageManager.standard.container.viewContext)
managedPost.postId = fetchedPost.postId managedPost.postId = fetchedPost.postId
managedPost.slug = fetchedPost.slug managedPost.slug = fetchedPost.slug
managedPost.appearance = fetchedPost.appearance managedPost.appearance = fetchedPost.appearance
@@ -222,7 +222,7 @@ extension WriteFreelyModel {
request.predicate = matchBodyPredicate request.predicate = matchBodyPredicate
} }
do { do {
let cachedPostsResults = try LocalStorageManager.standard.persistentContainer.viewContext.fetch(request)
let cachedPostsResults = try LocalStorageManager.standard.container.viewContext.fetch(request)
guard let cachedPost = cachedPostsResults.first else { return } guard let cachedPost = cachedPostsResults.first else { return }
cachedPost.appearance = fetchedPost.appearance cachedPost.appearance = fetchedPost.appearance
cachedPost.body = fetchedPost.body cachedPost.body = fetchedPost.body
@@ -293,7 +293,7 @@ extension WriteFreelyModel {
} }
} catch { } catch {
DispatchQueue.main.async { DispatchQueue.main.async {
LocalStorageManager.standard.persistentContainer.viewContext.rollback()
LocalStorageManager.standard.container.viewContext.rollback()
} }
print(error) print(error)
} }


+ 7
- 7
Shared/LocalStorageManager.swift View File

@@ -8,17 +8,17 @@ import AppKit


final class LocalStorageManager { final class LocalStorageManager {
public static var standard = LocalStorageManager() public static var standard = LocalStorageManager()
public let persistentContainer: NSPersistentContainer
public let container: NSPersistentContainer


init() { init() {
// Set up the persistent container. // Set up the persistent container.
persistentContainer = NSPersistentContainer(name: "LocalStorageModel")
persistentContainer.loadPersistentStores { description, error in
container = NSPersistentContainer(name: "LocalStorageModel")
container.loadPersistentStores { description, error in
if let error = error { if let error = error {
fatalError("Core Data store failed to load with error: \(error)") fatalError("Core Data store failed to load with error: \(error)")
} }
} }
persistentContainer.viewContext.mergePolicy = NSMergeByPropertyObjectTrumpMergePolicy
container.viewContext.mergePolicy = NSMergeByPropertyObjectTrumpMergePolicy


let center = NotificationCenter.default let center = NotificationCenter.default


@@ -37,9 +37,9 @@ final class LocalStorageManager {
} }


func saveContext() { func saveContext() {
if persistentContainer.viewContext.hasChanges {
if container.viewContext.hasChanges {
do { do {
try persistentContainer.viewContext.save()
try container.viewContext.save()
} catch { } catch {
print("Error saving context: \(error)") print("Error saving context: \(error)")
} }
@@ -51,7 +51,7 @@ final class LocalStorageManager {
let deleteRequest = NSBatchDeleteRequest(fetchRequest: fetchRequest) let deleteRequest = NSBatchDeleteRequest(fetchRequest: fetchRequest)


do { do {
try persistentContainer.viewContext.executeAndMergeChanges(using: deleteRequest)
try container.viewContext.executeAndMergeChanges(using: deleteRequest)
} catch { } catch {
print("Error: Failed to purge cached collections.") print("Error: Failed to purge cached collections.")
} }


+ 1
- 1
Shared/Navigation/ContentView.swift View File

@@ -61,7 +61,7 @@ struct ContentView: View {


struct ContentView_Previews: PreviewProvider { struct ContentView_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
let context = LocalStorageManager.standard.persistentContainer.viewContext
let context = LocalStorageManager.standard.container.viewContext
let model = WriteFreelyModel() let model = WriteFreelyModel()


return ContentView() return ContentView()


+ 2
- 2
Shared/PostCollection/CollectionListView.swift View File

@@ -2,7 +2,7 @@ import SwiftUI


struct CollectionListView: View { struct CollectionListView: View {
@EnvironmentObject var model: WriteFreelyModel @EnvironmentObject var model: WriteFreelyModel
@ObservedObject var collections = CollectionListModel(managedObjectContext: LocalStorageManager.standard.persistentContainer.viewContext)
@ObservedObject var collections = CollectionListModel(managedObjectContext: LocalStorageManager.standard.container.viewContext)
@State var selectedCollection: WFACollection? @State var selectedCollection: WFACollection?


var body: some View { var body: some View {
@@ -43,7 +43,7 @@ struct CollectionListView: View {


struct CollectionListView_LoggedOutPreviews: PreviewProvider { struct CollectionListView_LoggedOutPreviews: PreviewProvider {
static var previews: some View { static var previews: some View {
let context = LocalStorageManager.standard.persistentContainer.viewContext
let context = LocalStorageManager.standard.container.viewContext
let model = WriteFreelyModel() let model = WriteFreelyModel()


return CollectionListView() return CollectionListView()


+ 3
- 3
Shared/PostEditor/PostEditorModel.swift View File

@@ -27,7 +27,7 @@ struct PostEditorModel {
} }


func generateNewLocalPost(withFont appearance: Int) -> WFAPost { func generateNewLocalPost(withFont appearance: Int) -> WFAPost {
let managedPost = WFAPost(context: LocalStorageManager.standard.persistentContainer.viewContext)
let managedPost = WFAPost(context: LocalStorageManager.standard.container.viewContext)
managedPost.createdDate = Date() managedPost.createdDate = Date()
managedPost.title = "" managedPost.title = ""
managedPost.body = "" managedPost.body = ""
@@ -55,9 +55,9 @@ struct PostEditorModel {
} }


private func fetchManagedObject(from objectURL: URL) -> NSManagedObject? { private func fetchManagedObject(from objectURL: URL) -> NSManagedObject? {
let coordinator = LocalStorageManager.standard.persistentContainer.persistentStoreCoordinator
let coordinator = LocalStorageManager.standard.container.persistentStoreCoordinator
guard let managedObjectID = coordinator.managedObjectID(forURIRepresentation: objectURL) else { return nil } guard let managedObjectID = coordinator.managedObjectID(forURIRepresentation: objectURL) else { return nil }
let object = LocalStorageManager.standard.persistentContainer.viewContext.object(with: managedObjectID)
let object = LocalStorageManager.standard.container.viewContext.object(with: managedObjectID)
return object return object
} }
} }

+ 3
- 3
Shared/PostEditor/PostEditorStatusToolbarView.swift View File

@@ -65,7 +65,7 @@ struct PostEditorStatusToolbarView: View {


struct PESTView_StandardPreviews: PreviewProvider { struct PESTView_StandardPreviews: PreviewProvider {
static var previews: some View { static var previews: some View {
let context = LocalStorageManager.standard.persistentContainer.viewContext
let context = LocalStorageManager.standard.container.viewContext
let model = WriteFreelyModel() let model = WriteFreelyModel()
let testPost = WFAPost(context: context) let testPost = WFAPost(context: context)
testPost.status = PostStatus.published.rawValue testPost.status = PostStatus.published.rawValue
@@ -77,7 +77,7 @@ struct PESTView_StandardPreviews: PreviewProvider {


struct PESTView_OutdatedLocalCopyPreviews: PreviewProvider { struct PESTView_OutdatedLocalCopyPreviews: PreviewProvider {
static var previews: some View { static var previews: some View {
let context = LocalStorageManager.standard.persistentContainer.viewContext
let context = LocalStorageManager.standard.container.viewContext
let model = WriteFreelyModel() let model = WriteFreelyModel()
let updatedPost = WFAPost(context: context) let updatedPost = WFAPost(context: context)
updatedPost.status = PostStatus.published.rawValue updatedPost.status = PostStatus.published.rawValue
@@ -90,7 +90,7 @@ struct PESTView_OutdatedLocalCopyPreviews: PreviewProvider {


struct PESTView_DeletedRemoteCopyPreviews: PreviewProvider { struct PESTView_DeletedRemoteCopyPreviews: PreviewProvider {
static var previews: some View { static var previews: some View {
let context = LocalStorageManager.standard.persistentContainer.viewContext
let context = LocalStorageManager.standard.container.viewContext
let model = WriteFreelyModel() let model = WriteFreelyModel()
let deletedPost = WFAPost(context: context) let deletedPost = WFAPost(context: context)
deletedPost.status = PostStatus.published.rawValue deletedPost.status = PostStatus.published.rawValue


+ 3
- 3
Shared/PostList/PostCellView.swift View File

@@ -46,7 +46,7 @@ struct PostCellView: View {


struct PostCell_AllPostsPreviews: PreviewProvider { struct PostCell_AllPostsPreviews: PreviewProvider {
static var previews: some View { static var previews: some View {
let context = LocalStorageManager.standard.persistentContainer.viewContext
let context = LocalStorageManager.standard.container.viewContext
let testPost = WFAPost(context: context) let testPost = WFAPost(context: context)
testPost.title = "Test Post Title" testPost.title = "Test Post Title"
testPost.body = "Here's some cool sample body text." testPost.body = "Here's some cool sample body text."
@@ -59,7 +59,7 @@ struct PostCell_AllPostsPreviews: PreviewProvider {


struct PostCell_NormalPreviews: PreviewProvider { struct PostCell_NormalPreviews: PreviewProvider {
static var previews: some View { static var previews: some View {
let context = LocalStorageManager.standard.persistentContainer.viewContext
let context = LocalStorageManager.standard.container.viewContext
let testPost = WFAPost(context: context) let testPost = WFAPost(context: context)
testPost.title = "Test Post Title" testPost.title = "Test Post Title"
testPost.body = "Here's some cool sample body text." testPost.body = "Here's some cool sample body text."
@@ -73,7 +73,7 @@ struct PostCell_NormalPreviews: PreviewProvider {


struct PostCell_NoTitlePreviews: PreviewProvider { struct PostCell_NoTitlePreviews: PreviewProvider {
static var previews: some View { static var previews: some View {
let context = LocalStorageManager.standard.persistentContainer.viewContext
let context = LocalStorageManager.standard.container.viewContext
let testPost = WFAPost(context: context) let testPost = WFAPost(context: context)
testPost.title = "" testPost.title = ""
testPost.body = "Here's some cool sample body text." testPost.body = "Here's some cool sample body text."


+ 2
- 2
Shared/PostList/PostListModel.swift View File

@@ -4,7 +4,7 @@ import CoreData
class PostListModel: ObservableObject { class PostListModel: ObservableObject {
func remove(_ post: WFAPost) { func remove(_ post: WFAPost) {
withAnimation { withAnimation {
LocalStorageManager.standard.persistentContainer.viewContext.delete(post)
LocalStorageManager.standard.container.viewContext.delete(post)
LocalStorageManager.standard.saveContext() LocalStorageManager.standard.saveContext()
} }
} }
@@ -15,7 +15,7 @@ class PostListModel: ObservableObject {
let deleteRequest = NSBatchDeleteRequest(fetchRequest: fetchRequest) let deleteRequest = NSBatchDeleteRequest(fetchRequest: fetchRequest)


do { do {
try LocalStorageManager.standard.persistentContainer.viewContext.executeAndMergeChanges(using: deleteRequest)
try LocalStorageManager.standard.container.viewContext.executeAndMergeChanges(using: deleteRequest)
} catch { } catch {
print("Error: Failed to purge cached posts.") print("Error: Failed to purge cached posts.")
} }


+ 1
- 1
Shared/PostList/PostListView.swift View File

@@ -165,7 +165,7 @@ struct PostListView: View {


struct PostListView_Previews: PreviewProvider { struct PostListView_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {
let context = LocalStorageManager.standard.persistentContainer.viewContext
let context = LocalStorageManager.standard.container.viewContext
let model = WriteFreelyModel() let model = WriteFreelyModel()


return PostListView(showAllPosts: true) return PostListView(showAllPosts: true)


+ 3
- 3
Shared/PostList/PostStatusBadgeView.swift View File

@@ -38,7 +38,7 @@ struct PostStatusBadgeView: View {


struct PostStatusBadge_LocalDraftPreviews: PreviewProvider { struct PostStatusBadge_LocalDraftPreviews: PreviewProvider {
static var previews: some View { static var previews: some View {
let context = LocalStorageManager.standard.persistentContainer.viewContext
let context = LocalStorageManager.standard.container.viewContext
let testPost = WFAPost(context: context) let testPost = WFAPost(context: context)
testPost.status = PostStatus.local.rawValue testPost.status = PostStatus.local.rawValue


@@ -49,7 +49,7 @@ struct PostStatusBadge_LocalDraftPreviews: PreviewProvider {


struct PostStatusBadge_EditedPreviews: PreviewProvider { struct PostStatusBadge_EditedPreviews: PreviewProvider {
static var previews: some View { static var previews: some View {
let context = LocalStorageManager.standard.persistentContainer.viewContext
let context = LocalStorageManager.standard.container.viewContext
let testPost = WFAPost(context: context) let testPost = WFAPost(context: context)
testPost.status = PostStatus.edited.rawValue testPost.status = PostStatus.edited.rawValue


@@ -60,7 +60,7 @@ struct PostStatusBadge_EditedPreviews: PreviewProvider {


struct PostStatusBadge_PublishedPreviews: PreviewProvider { struct PostStatusBadge_PublishedPreviews: PreviewProvider {
static var previews: some View { static var previews: some View {
let context = LocalStorageManager.standard.persistentContainer.viewContext
let context = LocalStorageManager.standard.container.viewContext
let testPost = WFAPost(context: context) let testPost = WFAPost(context: context)
testPost.status = PostStatus.published.rawValue testPost.status = PostStatus.published.rawValue




+ 1
- 1
Shared/WriteFreely_MultiPlatformApp.swift View File

@@ -56,7 +56,7 @@ struct WriteFreely_MultiPlatformApp: App {
// } // }
}) })
.environmentObject(model) .environmentObject(model)
.environment(\.managedObjectContext, LocalStorageManager.standard.persistentContainer.viewContext)
.environment(\.managedObjectContext, LocalStorageManager.standard.container.viewContext)
// .preferredColorScheme(preferences.selectedColorScheme) // See PreferencesModel for info. // .preferredColorScheme(preferences.selectedColorScheme) // See PreferencesModel for info.
} }
.commands { .commands {


+ 2
- 2
iOS/PostEditor/PostEditorView.swift View File

@@ -236,7 +236,7 @@ struct PostEditorView: View {


struct PostEditorView_EmptyPostPreviews: PreviewProvider { struct PostEditorView_EmptyPostPreviews: PreviewProvider {
static var previews: some View { static var previews: some View {
let context = LocalStorageManager.standard.persistentContainer.viewContext
let context = LocalStorageManager.standard.container.viewContext
let testPost = WFAPost(context: context) let testPost = WFAPost(context: context)
testPost.createdDate = Date() testPost.createdDate = Date()
testPost.appearance = "norm" testPost.appearance = "norm"
@@ -251,7 +251,7 @@ struct PostEditorView_EmptyPostPreviews: PreviewProvider {


struct PostEditorView_ExistingPostPreviews: PreviewProvider { struct PostEditorView_ExistingPostPreviews: PreviewProvider {
static var previews: some View { static var previews: some View {
let context = LocalStorageManager.standard.persistentContainer.viewContext
let context = LocalStorageManager.standard.container.viewContext
let testPost = WFAPost(context: context) let testPost = WFAPost(context: context)
testPost.title = "Test Post Title" testPost.title = "Test Post Title"
testPost.body = "Here's some cool sample body text." testPost.body = "Here's some cool sample body text."


Loading…
Cancel
Save