NowAttachment structure - iOS
The NowAttachment structure provides functions that enable you to validate attachments by comparing their computed hash.
| Name | Type | Description |
|---|---|---|
| data | Data | Attachment data. |
| hash | String | Computed digest for the attachment data. This computed digest is used to validate the attachment by comparing it to the known digest stored in the attachment metadata. Calculating the computed digest is expensive; avoid using it in the UI. Instead, consider using the hash property in the NowAttachmentMetadata class. If you must use the computed hash, use it sparingly, and consider caching it. |
| metadata | NowAttachmentMetadata | Metadata associated with the attachment. |
NowAttachment - validate()
Validates the attachment by comparing the computed hash for the attachment data to the digest stored in the attachment metadata.
| Name | Type | Description |
|---|---|---|
| None |
| Type | Description |
|---|---|
| Boolean | Flag that indicates whether the attachment is valid. Possible values:
|
The following code example shows how to call this function.
guard
let metadataHeader = response.httpResponse?.value(forHTTPHeaderField: NowAttachment.attachmentMetadataHeaderKey),
let metadataHeaderData = metadataHeader.data(using: .utf8) else {
throw NowDataError.missingAttachmentMetadata
}
let metadata = try coder.decode(NowAttachmentMetadata.self, from: metadataHeaderData)
let attachment = NowAttachment(metadata: metadata, data: response.data)
if !attachment.validate() {
throw NowDataError.attachmentValidation
}
// Attachment is valid
return attachment