我有一个视图,显示团队中使用@Fetchrequest和固定谓词“开发人员”过滤的消息。
struct ChatView: View {
@FetchRequest(
sortDescriptors: [NSSortDescriptor(keyPath: \Message.createdAt, ascending: true)],
predicate: NSPredicate(format: "team.name == %@", "Developers"),
animation: .default) var messages: FetchedResults<Message>
@Environment(\.managedObjectContext)
var viewContext
var body: some View {
VStack {
List {
ForEach(messages, id: \.self) { message in
VStack(alignment: .leading, spacing: 0) {
Text(message.text ?? "Message text Error")
Text("Team \(message.team?.name ?? "Team Name Error")").font(.footnote)
}
}...
Run Code Online (Sandbox Code Playgroud)
我想使该谓词动态化,以便在用户切换团队时显示该团队的消息。下面的代码给我以下错误
无法在属性初始化程序中使用实例成员'teamName';属性初始化程序在“自我”可用之前运行
struct ChatView: View {
@Binding var teamName: String
@FetchRequest(
sortDescriptors: [NSSortDescriptor(keyPath: \Message.createdAt, ascending: true)],
predicate: NSPredicate(format: "team.name == %@", teamName), …Run Code Online (Sandbox Code Playgroud)