Я пытаюсь выполнить вставку SwiftData из моего расширения доли. И приложение, и расширение находятся в одной и той же группе приложений. Я использую один и тот же контейнер для обоих: < /p>
public func ConfigureModelContainer() -> ModelContainer {
let schema = Schema([Yerl.self, Category.self])
let modelConfiguration = ModelConfiguration(schema: schema, isStoredInMemoryOnly: false)
do {
return try ModelContainer(for: schema, configurations: [modelConfiguration])
} catch {
fatalError(error.localizedDescription)
}
}
< /code>
и в расширении я сохраняю так: < /p>
private func saveAction() {
let container = ConfigureModelContainer()
let modelContext = ModelContext(container)
if let defaultCategory = getDefaultCategory(container: container) {
let foo = Foo(name: text, note: "", url: url, category: defaultCategory)
modelContext.insert(foo)
do {
try modelContext.save()
} catch {
print("Error: can't save model context: \(error.localizedDescription)")
}
}
context.completeRequest(returningItems: [])
}
< /code>
Когда я выполняю строку с вставкой, приложение уходит около 13 секунд, а затем < /p>
Thread 1: EXC_BAD_ACCESS (code=2, address=0x16a6bbfd0)
< /code>
Я делаю что -то неподдерживаемое? Консоль молчит. Доступ к параметрам к Foo в порядке, я попробовал это с локальным текстом и аргументами URL с тем же результатом. .
Подробнее здесь: https://stackoverflow.com/questions/794 ... -extension