当前位置:首页 > 编程笔记 > 正文
已解决

Swift SwiftUI CoreData 过滤数据 2

来自网友在路上 194894提问 提问时间:2023-10-09 07:18:34阅读次数: 94

最佳答案 问答题库948位专家为你答疑解惑

预览

在这里插入图片描述


Code

import SwiftUI
import CoreDatastruct HomeSearchView: View {@Environment(\.dismiss) var dismiss@State private var search_value = ""@FetchRequest(entity: Bill.entity(),sortDescriptors: [NSSortDescriptor(keyPath: \Bill.c_at, ascending: false)],predicate: nil,animation: .default)private var bills_filter: FetchedResults<Bill>private func SearchByNameOrSurname() {let predicate: NSPredicate?if !search_value.isEmpty {let namePredicate = NSPredicate(format: "name CONTAINS %@", search_value)let moneyyPredicate = NSPredicate(format: "money CONTAINS %@", search_value)predicate = NSCompoundPredicate(orPredicateWithSubpredicates: [namePredicate, moneyPredicate])} else {predicate = nil}bills_filter.nsPredicate = predicate}var body: some View {NavigationStack {VStack {HStack {HStack {Image(systemName: "magnifyingglass")TextField("分类、金额、备注", text: $search_value).onChange(of: search_value) { _ inSearchByNameOrSurname()}}Button {search_value = ""dismiss()} label: {Text("取消")}}List {Section(header: Text("匹配条数 \(bills_filter.count)")) {ForEach(bills_filter) { bill inHStack {Text(bill.emoji ?? "Unknown bill emoji")Text(bill.name ?? "Unknown bill name")Spacer()Text("\(bill.moneyy ?? 0.0)")}}}}}.navigationTitle("搜索").navigationBarTitleDisplayMode(.inline)}}
}struct HomeSearchView_Previews: PreviewProvider {static var previews: some View {HomeSearchView()}
}

喜欢或对你有帮助,点个赞吧,自己先点个嘿嘿。
有错误或者疑问还请评论指出。
我的个人网站 点击访问 hongweizhu.com。

END

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"Swift SwiftUI CoreData 过滤数据 2":http://eshow365.cn/6-17672-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!