我正在使用CoreStore
的{{1}} CoreData包装器
Swift 5
使用获取所有数据。
import CoreStore
@objc(Post)
public class Post: NSManagedObject {
}
extension Post {
@nonobjc public class func fetchRequest() -> NSFetchRequest<Post> {
return NSFetchRequest<Post>(entityName: "Post")
}
@NSManaged public var detail: String?
@NSManaged public var sync: Server?
@NSManaged public var time: Time?
}
extension Post {
static var allPosts: [Post] {
var posts : [Post] = []
do {
posts = try CoreStore.fetchAll(From<Post>().tweak({ $0.includesPendingChanges = false }))
} catch {
print(error)
}
return posts
}
}
遇到错误。
⚠️[CoreStore:错误]来自.swift:155 applyToFetchRequest(_:context:applyAffectedStores :)↪︎尝试执行 执行提取但找不到该实体的任何持久性存储 (CoreStore.CoreStoreError).persistentStoreNotFound( .errorDomain =“ com.corestore.error”; .errorCode = 8; .entity =发布; )
答案 0 :(得分:1)
解决使用将数据提取到主线程中的问题。
DispatchQueue.main.async {
let posts = Post.allPosts
}