Почему мое приложение зависает при объявлении переменной состояния типа Date()?IOS

Программируем под IOS
Ответить
Anonymous
 Почему мое приложение зависает при объявлении переменной состояния типа Date()?

Сообщение Anonymous »

Я хотел добавить в свое приложение функцию хранения разного времени (час:минута) в массиве моей модели SwiftData. А затем еще и добавлять и удалять элементы из этого массива. Я столкнулся с двумя проблемами.
Первая незначительная проблема — это ошибка, возникающая в моей модели SwiftData и в том, как я инициализировал массив.

Код: Выделить всё

import Foundation
import SwiftData

@Model
class Tapas {
var name: String

[...]
var supportTime: [Date] = []

[...]

/// Adding a relation to TapasAsana, as one Tapas has many Asanas
@Relationship(deleteRule: .cascade) var asanas = [TapasAsana]()

init(...)
}

Этот подход работает, но я получаю эту ошибку/предупреждение при запуске приложения, хотя тогда оно работает нормально. Я пытался найти ошибку, а также узнать, как лучше создать массив типа Date, но ничего не нашел.

CoreData: не удалось материализовать Objective-C класс с именем "Array" из объявленного типа значения атрибута "Array" атрибута с именем supportTime

Другая более серьезная проблема заключается в том, что мое приложение отлично работает в симуляторе, но зависает на устройстве, когда я пытаюсь объявить это состояние Вар:

Код: Выделить всё

import SwiftUI
import SwiftData

struct EditTapasView: View {
[...]
@State private var supportTime = Date()

[...]

if showSupportTimes || !tapas.supportTime.isEmpty {
DatePicker("Supported Time:", selection: $supportTime, displayedComponents: [.hourAndMinute])

Button("Add Support Time") {
if !tapas.supportTime.contains(supportTime) {
tapas.supportTime.append(supportTime)
}
}

ForEach(0..

Подробнее здесь: [url]https://stackoverflow.com/questions/79280477/why-does-my-app-freeze-when-declaring-a-state-var-of-type-date[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»