我需要一个函数,它只返回SwiftUI中结构的标题

我需要一个函数,它只返回SwiftUI中结构的标题,swift,function,struct,swiftui,Swift,Function,Struct,Swiftui,所以这可能是一个简单的修复,但我对Xcode和SwiftUI还是相当陌生的。我有一个包含标题作为属性的结构,我试图在选项卡视图内的搜索栏中只列出标题,这是迄今为止我得到的,唯一适用于我的函数是randomElement()!,显然,我的列表中只显示了一个随机标题 这里是我想要放置函数的地方 TabView { Searchbar(duaa: .constant(Duaa.demoDuaa.randomElement()!)) .tabItem {

所以这可能是一个简单的修复,但我对Xcode和SwiftUI还是相当陌生的。我有一个包含标题作为属性的结构,我试图在选项卡视图内的搜索栏中只列出标题,这是迄今为止我得到的,唯一适用于我的函数是randomElement()!,显然,我的列表中只显示了一个随机标题

这里是我想要放置函数的地方

TabView {
        Searchbar(duaa: .constant(Duaa.demoDuaa.randomElement()!))
        .tabItem {
        VStack {
               Image(systemName: "book.circle")
                 .renderingMode(.original)
                 Text(verbatim: "PRAYERS")
                }
           }.tag(2)
}
这是我的结构代码

import SwiftUI

struct Duaa: Identifiable {
  var id = UUID()
  var title: String
  var imageName: String
  var duaaContext: String
  var duaabenefit: String
  var isLiked = false
}

extension Duaa: Equatable {
  static func == (lhs: Duaa, rhs: Duaa) -> Bool {
    return lhs.id == rhs.id
  }

    }
extension Duaa {
  static let demoDuaa = [
    Duaa(title: "blue", imageName: "blueimage"),
    Duaa(title: "yellow", imageName: "yellowimage"),
    Duaa(title: "Orange", imageName: "orangeimage"),
    Duaa(title: "Green", imageName: "greenimage"),
    Duaa(title: "Purple", imageName: "purpleimage")
]
}

如果您有一个
Duaa
对象数组,您可以在其上映射并轻松取出标题

var duaaTitles=arrayOfDuaas.map{$0.title}

这将创建一系列标题

更好的方法是使用
.compactMap{}
,因为这样可以消除任何可能的零

如果需要特定的帮助,您需要显示更多的代码(如
搜索栏
实现)


另外,您正在使用静态结构定义Duaa(比如Duaa的蓝图,而不是实际的Duaa),而不是它的实例,进行大量工作。这是故意的吗?

如果你有一个
Duaa
对象数组,你可以在上面映射并轻松地取出标题

var duaaTitles=arrayOfDuaas.map{$0.title}

这将创建一系列标题

更好的方法是使用
.compactMap{}
,因为这样可以消除任何可能的零

如果需要特定的帮助,您需要显示更多的代码(如
搜索栏
实现)

另外,您正在使用静态结构定义Duaa(比如Duaa的蓝图,而不是实际的Duaa),而不是它的实例,进行大量工作。那是故意的吗