Swift5 CoreStore CoreStore.fetchAll()引发错误

时间:2019-04-12 04:48:11

标签: swift core-data swift5 corestore

我正在使用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 =发布; )

1 个答案:

答案 0 :(得分:1)

解决使用将数据提取到主线程中的问题。

DispatchQueue.main.async { 
   let posts = Post.allPosts 
}