SwiftUI:搜索大小写字母

SwiftUI: search for lower and upper case letters

我正在关注 this tutorial 在 SwiftUI 中添加搜索栏。

当名称以大写字母开头时我只输入小写字母进行搜索,反之亦然。这是一个 macOS 应用程序。

import SwiftUI

struct ContentView: View {
    let names = ["Holly", "Josh", "Rhonda", "Ted"]
    @State private var searchText = ""
    var body: some View {
        ScrollView {
            VStack(spacing: 20) {
                ForEach(searchResults, id: \.self) { name in
                    Text(name)
                        .foregroundColor(.white)
                        .font(.largeTitle)
                        .frame(width: 330, height: 100)
                        .background(Color.red)
                }
                .searchable(text: $searchText)
            
            }
            
        }
        
        .frame(width: 350,height: 350)
    }
    
    var searchResults: [String] {
          if searchText.isEmpty {
              return names
          } else {
              return names.filter { [=10=].contains(searchText) }
          }
      }
}

如果您想忽略大小写,您可以在此行中将搜索条件和您正在搜索的内容转换为小写

return names.filter { [=10=].contains(searchText) }

您可以使用 .lowercased() method

有专门的API

return names.filter { [=10=].localizedCaseInsensitiveContains(searchText) }