IOS 18.3: «Фактальная ошибка: не удалось проверить ...» При вызове FetchHistory для TrantransactionIOS

Программируем под IOS
Ответить
Anonymous
 IOS 18.3: «Фактальная ошибка: не удалось проверить ...» При вызове FetchHistory для Trantransaction

Сообщение Anonymous »

Я преобразую модели SwiftData в структуры, чтобы я мог принести их на заднем плане. Чтобы узнать, когда и какие из них мне нужно обновить, я использую новую историю IOS 18 Transaction . Этот сбой каждый раз: < /p>

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

Thread 18: Fatal error: Failed to validate placeVideosIn.placeVideosIn because placeVideosIn is not a member of VideoPlacement

Сбой происходит здесь:

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

static func findTransactions(after token: DefaultHistoryToken?) -> [DefaultHistoryTransaction] {
var historyDescriptor = HistoryDescriptor()
if let token {
historyDescriptor.predicate = #Predicate { transaction in
(transaction.token > token)
}
}

var transactions: [DefaultHistoryTransaction] = []
let taskContext = ModelContext(container)
do {
transactions = try taskContext.fetchHistory(historyDescriptor) // 
Модель SwiftData имеет это свойство перечисления: < /p>
@Model
public final class Subscription {
// ...
public var placeVideosIn = VideoPlacement.defaultPlacement

}
< /code>
Enum выглядит так: < /p>
public enum VideoPlacement: Int {
case inbox = 0
case queueNext = 1
case nothing = 2
case defaultPlacement = 3
case queueLast = 4
}
Enum изменился в какой -то момент, но я ожидал, что это изменение будет прозрачным/аддитивным. Это выглядело так раньше: < /p>

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

public enum VideoPlacement: Int {
case inbox, queue, nothing, defaultPlacement
}
< /code>

Изменение всех значений вручную на, например, на, например, .defaultplacement 
не исправил сбой. Что исправило, что удаление всех Transcransactions :

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

var descriptor = HistoryDescriptor()
try modelContext.deleteHistory(descriptor)
По какой -то причине удаление всех транзакций истории Иногда также удаляет реальные модели. Этого ожидается?>

Подробнее здесь: https://stackoverflow.com/questions/793 ... ory-for-hi
Ответить

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

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

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

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

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