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