Estoy creando un widget para mi aplicación y agregué con éxito la configuración de intenciones con datos dinámicos que obtuve de la API.
Este fragmento obtiene la lista y la devuelve a Intent:
func provideLeagueOptionsCollection(for intent: LeagueConfigurationIntent, with completion: @escaping (INObjectCollection<LeagueType>?, Error?) -> Void) { request(for: Leagues.self, completion: { leagueList in let leagues = leagueList as! Leagues let activeLeagues = leagues.leagueList.map { (league: League) -> LeagueType in LeagueType(identifier: league.id, display: league.name) } let collection = INObjectCollection(items: activeLeagues) completion(collection, nil) }) }Lo que quiero agregar es que, cuando el usuario selecciona algo de esta lista, quiero mostrar otra opción para seleccionar, es algo así:
id de la liga proporcionada en la selección antes y la selección de la lista de equipos se vuelve visible.IntentTimelineProvider -> getTimeline() Traté de depurar paso a paso, pero después de la primera selección, no se llama a ninguna de estas funciones ConfigurationIntentHandling .
func provideTeamOptionsCollection(for intent: TeamConfigurationIntent, with completion: @escaping (INObjectCollection<TeamType>?, Error?) -> Void) { ... } func provideLeagueOptionsCollection(for intent: LeagueConfigurationIntent, with completion: @escaping (INObjectCollection<LeagueType>?, Error?) -> Void) { ... } // This method only gets called when interacted with League opiton in configuration view (not after selection from data list). override func handler(for intent: INIntent) -> Any { return self } // This method only gets called when the configuration menu shows up.Mi objetivo es filtrar equipos de una liga seleccionada, para que el usuario no tenga que desplazarse por una larga lista de equipos.
También abierto para otras sugerencias además de este enfoque.