У меня проблема с вызовом моей функции. Это не первая функция, которую я написал в этом приложении, но это ... "другое" xD
В настоящее время я пытаюсь показать некоторые элементы с описанием, количеством и типом. И рядом с типом должен отображаться маленький значок.
Я хотел бы сохранить тип значка со строкой, чтобы он выглядел так:
Пользователь выбирает тип ингредиентов, например, "Getränke", и это значение сохраняется в моей переменной типа. Моя функция myImage вызывается и сохраняет этот тип ингредиентов в моем значении itemImage, а мое значение itemImage связано с изображением. Как и в моем случае Switch ниже - пользователь выбирает «Getränke», тип переменной = Getränke, и мой случай переключения выбрал это значение и сохранил его также в itemImage. (для моего тестового примера есть только одно изображение, называемое «Droger ie», поэтому все случаи одинаковы; o
В основном это мой текущий код для моего представления:
var body: some View {
NavigationView {
Form {
Picker("Rezept oder Zutat", selection: $rezeptOrIngredients){
ForEach(Self.subTitle, id: \.self)
{
Text($0)
}
}
if rezeptOrIngredients == "Zutat" {
Picker("Type", selection: $type){
ForEach(Self.types, id:\.self){
Text($0)
}
}
TextField("Beschreibung", text: $beschreibung)
HStack{
TextField("Menge", text: $menge)
Picker(selection: $unitType, label: Text("Anzahl Personen")){
ForEach(Self.units, id:\.self)
{
Text($0)
}
}.pickerStyle(WheelPickerStyle())
.frame(width: 100, height: 100)
//My function////
myImage()
}
}
}
}
.navigationBarTitle("Hinzufügen von...")
}
И, конечно, мой код для функции:
func myImage() -> AnyView{
switch type {
case "Nahrungsmittel": itemImage = "Drogerie"
case "Haushaltsartikel": itemImage = "Drogerie"
case "Getränke": itemImage = "Drogerie"
case "Obst und Gemüse": itemImage = "Drogerie"
case "Tiefkühl": itemImage = "Drogerie"
case "Drogerie und Kosmetik": itemImage = "Drogerie"
case "Baby und Kind": itemImage = "Drogerie"
case "Tierartikel": itemImage = "Drogerie"
case "Süßigkeiten und Salzigkeiten": itemImage = "Drogerie"
default: itemImage = "empty"
}
return AnyView //Shows Error
}
Я уже понял, зачем мне нужна функция, которая возвращает представление, но, честно говоря, я не могу понять, что означает этот тип AnyView, соответственно, что моей функции нужно вернуть ...
Спасибо за помощь!: -)