NowAttachmentMetadata 構造体:iOS
NowAttachmentMetadata 構造体は、添付ファイルのメタデータをエンコードおよび管理するための関数を提供します。
| 名前 | タイプ | 説明 |
|---|---|---|
| averageImageColor | 文字列 | 関連付けられた画像で最も支配的な色。 |
| chunkSizeInBytes | 整数 | チャンクのサイズ。 単位:バイト |
| compressedSizeInBytes | 整数 | 添付ファイルの圧縮サイズ。 単位:バイト |
| 作成日時 | 日付 | 添付ファイルが作成された日付。 |
| createdBy | 文字列 | 添付ファイルを作成したエンティティ。 |
| ダウンロード | URL | ServiceNowインスタンスの添付ファイルの URL。 |
| fileName | 文字列 | 添付ファイルの名前。 |
| ハッシュ | 文字列 | 添付ファイルの想定される SHA256 ダイジェスト。 ダウンロードされた添付ファイルは、その計算されたダイジェストをこの SHA256 ダイジェストと比較することで 検証 されます。 |
| imageHeight | 整数 | 画像の高さ。 単位:ピクセル |
| imageWidth | 整数 | 画像の幅。 単位:ピクセル |
| 圧縮済み | ブール | 添付ファイルが圧縮されているかどうかを示すフラグ。 可能な値:
|
| mimeType | 文字列 | 添付ファイルの MIME タイプ。 |
| modificationCount | 整数 | 添付ファイルが変更された回数。 |
| sizeInBytes | 整数 | 添付ファイルのサイズ。 単位:バイト |
| sourceSysId | 文字列 | 添付ファイルの sys_id。 |
| ソーステーブル名 | 文字列 | 添付ファイルが存在するソーステーブルの名前。 |
| state | 条件付き、利用不可、利用可能、処理待ちなどの利用可能ステータス。 | |
| sysId | 文字列 | ServiceNowインスタンス内の各レコードを識別する、32 文字の一意のグローバル一意識別子 (GUID)。 |
| tags | 文字列 | 添付ファイルに関連付けられたタグのリスト。 |
| 更新完了 | 日付 | 添付ファイルが最後に変更された日付。 |
| updatedBy | 文字列 | 添付ファイルを更新したエンティティ。 |
NowAttachmentMetadata:encode(エンコーダーへ:Encoder)
指定されたエンコーダーを使用して、現在のオブジェクト値をデータにエンコードします。
オブジェクトをデータにエンコードできなかった場合、エンコーダーは代わりに空の キー付きコンテナー をエンコードします。この関数は、指定されたエンコーダーの形式に対して無効な値がある場合にもエラーをスローします。
| 名前 | タイプ | 説明 |
|---|---|---|
| エンコーダーへ | Encoder | エンコードされた出力の構造を定義するエンコーダー。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出す方法を示しています。
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(デコーダーから:デコーダー)
指定されたデコーダーからデータをオブジェクトにデコードすることにより、新しい NowAttachmentMetadata インスタンスを作成します。
このメソッドは、デコーダーからの読み取りに失敗した場合、または読み取られたデータが破損しているか無効である場合にエラーをスローします。
| 名前 | タイプ | 説明 |
|---|---|---|
| デコーダ | デコーダ | データの読み取り元のデコーダー。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出す方法を示しています。
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)