dataReader(for:)
Returns a data reader for the attachment.
Declaration
func dataReader(for attachment: HKAttachment) -> HKAttachmentDataReaderParameters
- attachment:
An attachment associated with an object in the HealthKit store.
Discussion
Call this method to access a data reader for the attachment’s contents.
// Get a data reader for the attachment.
let dataReader = attachmentStore.dataReader(for: myAttachment)You can then read the attachment’s contents from the data reader.
let data: Data
do {
data = try await dataReader.data
} catch {
// Handle the error here.
fatalError("*** An error occurred while accessing the attachment's data. \(error.localizedDescription) ***")
}
// Use the data here.Alternatively, you can access the file’s contents as an asynchronous sequence of bytes.
// Asynchronously access the attachment's bytes.
var data = Data()
do {
for try await byte in dataReader.bytes {
// Use the bytes here.
data.append(byte)
}
} catch {
// Handle the error here.
fatalError("*** An error occurred while reading the attachment's data: \(error.localizedDescription) ***")
}