Итак, у меня есть этот код: < /p>
import SwiftUI
import SwiftData
enum MyEnum: String, CaseIterable, Codable {
case first = "first case"
case second = "second case"
case third = "third case"
}
@Model
final class Item {
@Attribute(.unique) var id = UUID()
private(set) var name: String
private(set) var myEnum: MyEnum
init(name: String, myEnum: MyEnum) {
self.name = name
self.myEnum = myEnum
}
}
struct ContentView: View {
@Environment(\.modelContext) var modelContext
@Query private var items: [Item]
init(myEnum: MyEnum) {
_items = Query(filter: #Predicate {
$0.myEnum == myEnum
}, sort: [SortDescriptor(\Item.name)])
}
var body: some View {
NavigationStack {
List {
Section("Items") {
ForEach(items) { item in
HStack {
Text(item.name)
Spacer()
Text(item.myEnum.rawValue)
}
}
}
}
}.onAppear {
addItems()
}
}
func addItems() {
let enumCases = MyEnum.allCases
for i in 0..
Это просто упрощенный код, и когда я пытаюсь сравнивать перечисления, я получаю: < /p>
Запрос, встречая ошибку: не поддерживается предикат: Captured /constant
type 'myenum' не поддерживался < /p>
init(myEnum: MyEnum) {
_items = Query(filter: #Predicate {
$0.myEnum.rawValue == myEnum.rawValue
}, sort: [SortDescriptor(\Item.name)])
}
< /code>
Но нет ... Я получаю: < /p>
Не удалось подтвердить \ item.myenum.rawvalue, потому что Rawvalue не является членом Myenum < /p>
< /blockquote>
Вопрос, как использовать Enums в предсказаниях? Есть обходной путь?
Подробнее здесь: https://stackoverflow.com/questions/797 ... -swiftdata
Как использовать перечисления в предикатах с @Query и SwiftData ⇐ IOS
Программируем под IOS
-
Anonymous
1753617335
Anonymous
Итак, у меня есть этот код: < /p>
import SwiftUI
import SwiftData
enum MyEnum: String, CaseIterable, Codable {
case first = "first case"
case second = "second case"
case third = "third case"
}
@Model
final class Item {
@Attribute(.unique) var id = UUID()
private(set) var name: String
private(set) var myEnum: MyEnum
init(name: String, myEnum: MyEnum) {
self.name = name
self.myEnum = myEnum
}
}
struct ContentView: View {
@Environment(\.modelContext) var modelContext
@Query private var items: [Item]
init(myEnum: MyEnum) {
_items = Query(filter: #Predicate {
$0.myEnum == myEnum
}, sort: [SortDescriptor(\Item.name)])
}
var body: some View {
NavigationStack {
List {
Section("Items") {
ForEach(items) { item in
HStack {
Text(item.name)
Spacer()
Text(item.myEnum.rawValue)
}
}
}
}
}.onAppear {
addItems()
}
}
func addItems() {
let enumCases = MyEnum.allCases
for i in 0..
Это просто упрощенный код, и когда я пытаюсь сравнивать перечисления, я получаю: < /p>
Запрос, встречая ошибку: не поддерживается предикат: Captured /constant
type 'myenum' не поддерживался < /p>
init(myEnum: MyEnum) {
_items = Query(filter: #Predicate {
$0.myEnum.rawValue == myEnum.rawValue
}, sort: [SortDescriptor(\Item.name)])
}
< /code>
Но нет ... Я получаю: < /p>
Не удалось подтвердить \ item.myenum.rawvalue, потому что Rawvalue не является членом Myenum < /p>
< /blockquote>
Вопрос, как использовать Enums в предсказаниях? Есть обходной путь?
Подробнее здесь: [url]https://stackoverflow.com/questions/79716380/how-to-use-enums-in-predicates-with-query-and-swiftdata[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия