Общее перечисление с локализованной строкой в ​​SwiftUI [дубликат]IOS

Программируем под IOS
Anonymous
Общее перечисление с локализованной строкой в ​​SwiftUI [дубликат]

Сообщение Anonymous »

Мне хотелось бы иметь функцию, которая могла бы принимать как перечисление A, так и перечисление B, и отображать необработанные значения в меню. поэтому я использую тип T, чтобы сделать функцию универсальной, а T следует локализованному протоколу, который я определил, чтобы значение можно было локализовать. ниже приведен мой код, который компилируется, но не отображает ни одного строкового литерала в моем каталоге строк. у меня другие виды локализованных строк работают хорошо.
пожалуйста, дайте мне знать, что не так с кодом?
protocol StringEnumLocalizable {
func localizedString() -> LocalizedStringKey
}

enum A: String, CaseIterable, Codable, StringEnumLocalizable {
case a1 = "a1"
case a2 = "a2"

func localizedString() -> LocalizedStringKey {
return LocalizedStringKey(self.rawValue)
}
}

enum B: String, CaseIterable, Codable, StringEnumLocalizable {
case b1 = "a1"
case b2 = "a2"

func localizedString() -> LocalizedStringKey {
return LocalizedStringKey(self.rawValue)
}
}

private func customMultiSelectionsView(
options: [T]
) -> some View {
Menu {
ForEach(options, id: \.self) { option in
Text(option.localizedString())
}
}


Подробнее здесь: https://stackoverflow.com/questions/787 ... in-swiftui

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