Page MenuHomeMusing Studio

PostListModel.swift
No OneTemporary

PostListModel.swift

import SwiftUI
import CoreData
class PostListModel: ObservableObject {
@Published var userPosts = [WFAPost]()
init() {
loadCachedPosts()
}
func loadCachedPosts() {
let request = WFAPost.createFetchRequest()
let sort = NSSortDescriptor(key: "createdDate", ascending: false)
request.sortDescriptors = [sort]
userPosts = []
do {
let cachedPosts = try LocalStorageManager.persistentContainer.viewContext.fetch(request)
userPosts.append(contentsOf: cachedPosts)
} catch {
print("Error: Failed to fetch cached posts.")
}
}
func remove(_ post: WFAPost) {
LocalStorageManager.persistentContainer.viewContext.delete(post)
LocalStorageManager().saveContext()
}
func purgeAllPosts() {
userPosts = []
let fetchRequest: NSFetchRequest<NSFetchRequestResult> = NSFetchRequest(entityName: "WFAPost")
let deleteRequest = NSBatchDeleteRequest(fetchRequest: fetchRequest)
do {
try LocalStorageManager.persistentContainer.viewContext.executeAndMergeChanges(using: deleteRequest)
} catch {
print("Error: Failed to purge cached posts.")
}
}
}

File Metadata

Mime Type
text/x-c++
Expires
Thu, Apr 2, 2:06 AM (8 h, 3 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3673325

Event Timeline