Передайте конфигурацию в намерение в виджете, который использует AppIntentConfiguration.IOS

Программируем под IOS
Ответить
Anonymous
 Передайте конфигурацию в намерение в виджете, который использует AppIntentConfiguration.

Сообщение Anonymous »


У меня есть 2 виджета WidgetKit, созданные с использованием AppIntentConfiguration:

var body: some WidgetConfiguration { AppIntentConfiguration(вид: вид, намерение: SelectValueTrackerIntent.self, поставщик: TrackerTimelineProvider(trackerType: .value)) {запись в TracKitWidgetEntryView (timelineEntry: запись) .containerBackground(Color.tk_mainBackgroundColor, для: .widget) } .configurationDisplayName("Мой виджет") .description("Это пример виджета.") } Каждый виджет использует намерение предоставить конфигурации виджета динамические значения. Оба виджета получают одни и те же данные через сеть, но каждый из них фильтрует данные немного по-разному, предоставляя разный список возможных значений.

Мне не удалось найти способ заставить эту настройку работать без дублирования всего кода, используемого для намерения приложения.

Вот остальная часть кода для этой настройки:

struct SelectValueTrackerIntent: WidgetConfigurationIntent { статический заголовок var: LocalizedStringResource = «Выбрать трекер» static vardescription = IntentDescription("Выбирает трекер для отображения информации.") @Parameter(title: «Трекер») вар трекер: ValueTrackerAppEntity } структура ValueTrackerAppEntity: AppEntity { статическая переменная defaultQuery = ValueTrackerQuery() статическая переменная typeDisplayRepresentation: TypeDisplayRepresentation = «Трекер» вар displayRepresentation: DisplayRepresentation { DisplayRepresentation(title: "\(title)") } идентификатор переменной: строка пусть заголовок: Строка } структура ValueTrackerQuery: EntityQuery { объекты func (для идентификаторов: [String]) асинхронные броски -> [ValueTrackerAppEntity] { вернуть попытку await юридические лицаForAllTrackers().filter { идентификаторы.contains($0.id) } } асинхронные броски func предложенныеEntities() -> [ValueTrackerAppEntity] { вернуть попытку await юридические лицаForAllTrackers() } func defaultResult () асинхронно -> ValueTrackerAppEntity? { если пусть трекер = попробую? ждут сущностиForAllTrackers().first { трекер возврата } вернуть ноль } } Есть ли способ передать параметр конфигурации в SelectValueTrackerIntent, ValueTrackerAppEntity или ValueTrackerQuery, чтобы иметь возможность предоставлять разные данные?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»