Estrutura NowAttachmentMetadata - iOS
A estrutura NowAttachmentMetadata fornece funções que permitem codificar e gerenciar metadados de anexo.
| Nome | Tipo | Descrição |
|---|---|---|
| averageImageColor | Cadeia de caracteres | Cor mais dominante na imagem associada. |
| blocoSizeInBytes | Inteiro | Tamanho do bloco. Unidade: bytes |
| compactadoTamanho emBytes | Inteiro | Tamanho compactado do anexo. Unidade: bytes |
| created | Data | Data em que o anexo foi criado. |
| createdBy | Cadeia de caracteres | Entidade que criou o anexo. |
| baixar | URL | URL do anexo na instância ServiceNow. |
| fileName | Cadeia de caracteres | Nome do arquivo de anexo. |
| hash | Cadeia de caracteres | Resumo SHA256 esperado para o anexo. Um anexo baixado é validado comparando seu resumo calculado com este resumo SHA256. |
| imageHeight | Inteiro | Altura da imagem. Unidade: pixels |
| largura da imagem | Inteiro | Largura da imagem. Unidade: pixels |
| está compactado | Booliano | Sinalizador que indica se o arquivo de anexo está compactado. Valores possíveis:
|
| mimeType | Cadeia de caracteres | Tipo MIME de anexo. |
| modificaçãoContagem | Inteiro | Número de vezes que o anexo foi modificado. |
| sizeInBytes | Inteiro | Tamanho do anexo. Unidade: bytes |
| sourceSysId | Cadeia de caracteres | Sys_id do arquivo de anexo. |
| sourceTableName | Cadeia de caracteres | Nome da tabela de origem na qual reside o anexo. |
| state | Estado de disponibilidade, como condicionalmente, indisponível, disponível e pendente. | |
| sysId | Cadeia de caracteres | Identificador exclusivo global (GUID) de 32 caracteres que identifica cada registro em uma instância ServiceNow. |
| marcadores | Cadeia de caracteres | Lista de marcadores associados ao anexo. |
| atualizado | Data | Data em que o anexo foi modificado pela última vez. |
| updatedBy | Cadeia de caracteres | Entidade que atualizou o anexo. |
NowAttachmentMetadata - encode (para codificar: codificador)
Codifica o valor do objeto atual em dados usando o codificador especificado.
Se o objeto não for codificado em dados, o codificador codificará um contêiner com chave vazio em seu lugar. Esta função também gerará um erro se algum valor for inválido para o formato do codificador especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| para codificar | Codificador | Codificador que define a estrutura da saída codificada. |
| Tipo | Descrição |
|---|---|
| Nenhum |
O exemplo de código a seguir mostra como chamar esta função.
let query = "active=true^short_descriptionLIKEbroken"
let filter = Filter(query: query)
metadataPublisher(filter: filter, limit: 1)
private func metadataPublisher(filter: Filter?, limit: Int?) {
let publisher = attachmentService.attachmentMetadata(filter: filter, limit: limit)
publisher
.receive(on: DispatchQueue.main)
.encode(encoder: JSONEncoder())
.sink { [weak self] completion in
if case let .failure(error) = completion {
// attachment published failed, return NowDataError
}
} receiveValue: { [weak self] (data) in
// Attachment published successful, return data
}
.store(in: &subscriptions)
}
NowAttachmentMetadata - init (do decodificador: decodificador)
Cria uma nova instância NowAttachmentMetadata decodificando dados em um objeto do decodificador especificado.
Este método gera um erro se a leitura do decodificador falhar ou se os dados lidos estiverem corrompidos ou inválidos.
| Nome | Tipo | Descrição |
|---|---|---|
| decodificador | Decodificador | Decodificador para ler dados. |
| Tipo | Descrição |
|---|---|
| Nenhum |
O exemplo de código a seguir mostra como chamar esta função.
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)