首页 > 解决方案 > SwiftUI:用字典定义搜索结果列表的困难

问题描述

我会尝试做一个搜索视图。

我想将结果保存在字典中以创建结果列表,但 xCode 向我显示此错误:

无法通过下标赋值:'self' 是不可变的

我的代码:


import SwiftUI

struct SearchListView: View {
    @State var search: String = "test"
    var stringDictionary: Dictionary = [Int: String]()

    var body: some View
    {
        NavigationView
        {

                ForEach(chapterData)  { chapter in
                    ForEach(chapter.lines)  { line in
                        HStack {
                            if (self.search == line.text) {
                                HStack {
                                    stringDictionary[0] = line.text
                                }
                            }
                        }
                    }
                }
        }
    }

}

struct SearchListView_Previews: PreviewProvider {
    static var previews: some View {
        SearchListView(search: "test")
    }
}


struct Chapter: Codable, Identifiable {
  let id:Int
  let lines: [Line]
}


struct Line: Codable, Identifiable {
  let id: Int
  let text: String 
} 


标签: xcodedictionarysearchswiftuiswiftui-list

解决方案


推荐阅读