1

我正在使用CoreStoreCoreData 的 WrapperSwift 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
    }
}

使用获取所有数据。

let posts = Post.allPosts

低于错误。

⚠️ [CoreStore: Error] From.swift:155 applyToFetchRequest(_:context:applyAffectedStores:) ↪︎ 尝试执行获取但找不到实体的任何持久存储 (CoreStore.CoreStoreError) .persistentStoreNotFound (.errorDomain = "com. corestore.error"; .errorCode = 8; .entity = Post;)

4

1 回答 1

2

解决使用获取数据到主线程的问题。

DispatchQueue.main.async { 
   let posts = Post.allPosts 
}
于 2019-04-12T05:12:38.650 回答