Обобщенные элементы в пользовательском компоненте – невозможно получить доступ к свойству, специфичному для перечисленияIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Обобщенные элементы в пользовательском компоненте – невозможно получить доступ к свойству, специфичному для перечисления

Сообщение Anonymous »

Я создаю собственный компонент: список карточек.
Предполагаемый внешний вид:
Изображение

Этот компонент принимает массив универсального типа [T] и создает карточку для каждого элемента в массив.
В данном случае я передаю ему массив [PlantStage], который представляет собой перечисление, представляющее различные этапы садоводства. У каждого этапа свое определение.

Код: Выделить всё

enum PlantStage: String, CaseIterable {
case seed = "Seed"
case germination = "Germination"
case seedling = "Seedling"
case bulb = "Bulb"
case leafyGrowth = "Leafy Growth"
case flowering = "Flowering"
case pollination = "Pollination"
case fruitFormation = "Fruit Formation"
case vegetableFormation = "Vegetable Formation"
case harvested = "Harvested"

var definition: String {
switch self {
case .seed: "A small object from which a new plant can grow."
case .germination: "The emergence of a tiny root and shoot."
case .seedling: "A young plant with its first set of leaves."
case .bulb: "An underground bulb from which a new plant can grow."
case .leafyGrowth: "The growth of leaves, stems, and roots establishing the plant."
case .flowering: "A stage where the plant produces flowers."
case .pollination: "A period of pollen transfer leading to plant fertilization."
case .fruitFormation: "The development of edible fruits."
case .vegetableFormation: "The development of edible greens."
case .harvested: "The act of gathering mature plants."
}
}
}
Проблема в том, что я не могу получить доступ к определению. В итоге карточки выглядят следующим образом:
Изображение

Код моего компонента:

Код: Выделить всё

struct CardSelectionList: View where T: RawRepresentable, T.RawValue == String {

let items: [T]

let newlySelectedPillText: String
let currentlyActivePillText: String

@Binding var selectedItem: T
@Binding var selectedIndex: Int

var body: some View {
ScrollView {
VStack(alignment: .leading, spacing: 10) {
ForEach(0..

Подробнее здесь: [url]https://stackoverflow.com/questions/78421509/generics-in-custom-component-unable-to-access-enum-specific-property[/url]
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • InvalidArgumentError: Ожидается, что «tf.Tensor(False, shape=(), dtype=bool)» будет истинным. Обобщенные данные: b'Нет ф
    Anonymous » » в форуме Python
    0 Ответы
    43 Просмотры
    Последнее сообщение Anonymous
  • Как специализировать класс на Python (обобщенные наборы типов)
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Статический доступ к свойству 'value' перечисления PHP
    Anonymous » » в форуме Php
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Статический доступ к свойству 'value' перечисления PHP
    Anonymous » » в форуме Php
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Дочерние элементы макета JavaFX в пользовательском компоненте макета
    Anonymous » » в форуме JAVA
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous

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