Slide 146
Slide 146 text
func configureView(for parameters: Set,
of interaction: INInteraction,
interactiveBehavior: INUIInteractiveBehavior,
context: INUIHostedViewContext,
completion: @escaping (Bool, Set, CGSize) -> Void) {
var plan: Plan? = nil
let moc = CoreDataManager.shared.mainContext
if let departureIntent = interaction.intent as? DepartureTimeIntent {
plan = Plan.fromDepartureIntent(departureIntent, in: moc)
} else if let arrivalIntent = interaction.intent as? ArrivalTimeIntent {
plan = Plan.fromArrivalIntent(arrivalIntent, in: moc)
}
guard let retrievedPlan = plan else {
completion(false, parameters, .zero)
return
}
let coordinator = EmbeddedPlanCoordinator(plan: retrievedPlan)
coordinator.configureIn(viewController: self)
let size = CGSize(width: self.view.frame.width,
height: coordinator.contentHeight)
completion(true, parameters, size)
}