Я хотел бы обернуть простой обратный вызов, чтобы его можно было использовать в качестве комбайна Publisher
.В частности, обратный вызов NSPersistentContainer.loadPersistentStore , чтобы я мог публиковать, когда контейнер готов к работе.
func createPersistentContainer(name: String) -> AnyPublisher<NSPersistentContainer, Error> {
// What goes here?
// Happy path: send output NSPersistentContainer; send completion.
// Not happy path: send failure Error; send completion.
}
Например, что будет с внутренними функциями, указанными выше createPersistentContainer
,похоже, что я могу сделать что-то подобное в моем AppDelegate
.
final class AppDelegate: UIResponder, UIApplicationDelegate {
let container = createPersistentContainer(name: "DeadlyBattery")
.assertNoFailure()
.eraseToAnyPublisher()
// ...
}
В основном это сводится к тому, как вы оборачиваете обратный вызов в Publisher
?