How to correctly fetch data using SwiftData

Hi there! I'm making an app that stores data for the user's profile in SwiftData. I was originally going to use UserDefaults but I thought SwiftData could save Images natively but this is not true so I really could switch back to UserDefaults and save images as Data but I'd like to try to get this to work first. So essentially I have textfields and I save the values of them through a class allProfileData. Here's the code for that:

import SwiftData
import SwiftUI

@Model
class allProfileData {
    var profileImageData: Data?
    var email: String
    var bio: String
    var username: String
    
    var profileImage: Image {
        if let data = profileImageData,
           let uiImage = UIImage(data: data) {
            return Image(uiImage: uiImage)
        } else {
            return Image("DefaultProfile")
        }
    }
    
    init(email:String, profileImageData: Data?, bio: String, username:String) {
        self.profileImageData = profileImageData
        self.email = email
        self.bio = bio
        self.username = username
    }
}

To save this I create a new class (I think, I'm new) and save it through ModelContext

import SwiftUI
import SwiftData
struct CreateAccountView: View {
@Query var profiledata: [allProfileData] 
@Environment(\.modelContext) private var modelContext

 let newData = allProfileData(email: "", profileImageData: nil, bio: "", username: "")
 var body: some View {
       Button("Button") {
                newData.email = email 
                modelContext.insert(newData)
                try? modelContext.save()
                print(newData.email)
      }
  }
}

To fetch the data, I originally thought that @Query would fetch that data but I saw that it fetches it asynchronously so I attempted to manually fetch it, but they both fetched nothing

import SwiftData
import SwiftUI
 @Query var profiledata: [allProfileData] 
    @Environment(\.modelContext) private var modelContext
let fetchRequest = FetchDescriptor<allProfileData>()
let fetchedData = try? modelContext.fetch(fetchRequest)
print("Fetched count: \(fetchedData?.count ?? 0)")
if let imageData = profiledata.first?.profileImageData,
  let uiImage = UIImage(data: imageData) {
   profileImage = Image(uiImage: uiImage)
} else {
  profileImage = Image("DefaultProfile")
   }

No errors. Thanks in advance

How to correctly fetch data using SwiftData
 
 
Q