Swift5 CoreStore CoreStore.fetchAll () выдает ошибку - PullRequest
1 голос
/ 12 апреля 2019

Я использую CoreStore Оболочку 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
    }
}

Получение всех данных с использованием.

let posts = Post.allPosts

Ошибка ниже.

⚠️ [CoreStore: Error] From.swift: 155 applyToFetchRequest (_: context: applyActedStores :) ↪︎ Попытка выполнить выборку, но не удалось найти какое-либо постоянное хранилище для объекта (CoreStore.CoreStoreError) .persistentStoreNotFound ( .errorDomain = "com.corestore.error"; .errorCode = 8; .entity = Post; )

1 Ответ

2 голосов
/ 12 апреля 2019

Решить, используя выборку данных в основной поток.

DispatchQueue.main.async { 
   let posts = Post.allPosts 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...