I am trying out the new AttributedString binding with SwiftUI’s TextEditor in iOS26. I need to save this to a Core Data database. Core Data has no AttributedString type, so I set the type of the field to “Transformable”, give it a custom class of NSAttributedString, and set the transformer to NSSecureUnarchiveFromData
When I try to save, I first convert the Swift AttributedString to NSAttributedString, and then save the context. Unfortunately I get this error when saving the context, and the save isn't persisted:
CoreData: error: SQLCore dispatchRequest: exception handling request: <NSSQLSaveChangesRequestContext: 0x600003721140> , <shared NSSecureUnarchiveFromData transformer> threw while encoding a value. with userInfo of (null)
Here's the code that tries to save the attributed string:
struct AttributedDetailView: View {
    @ObservedObject var item: Item
    @State private var notesText = AttributedString()
    var body: some View {
        VStack {
            TextEditor(text: $notesText)
                .padding()
                .onChange(of: notesText) {
                    item.attributedString = NSAttributedString(notesText)
                }
        }
        .onAppear {
            if let nsattributed = item.attributedString {
                notesText = AttributedString(nsattributed)
            } else {
                notesText = ""
            }
        }
        .task {
            
            item.attributedString = NSAttributedString(notesText)
            
            do {
                try item.managedObjectContext?.save()
            } catch {
                print("core data save error = \(error)")
            }
        }
        
    }
}
This is the attribute setup in the Core Data model editor:
Is there a workaround for this?
I filed FB17943846 if someone can take a look. Thanks.
