NowAttachmentMetadata 구조 - iOS

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 4분
  • NowAttachmentMetadata 구조는 첨부 파일 메타데이터를 인코딩하고 관리할 수 있는 기능을 제공합니다.

    표 1. 속성
    이름 유형 설명
    averageImageColor 문자열 관련 이미지에서 가장 두드러진 색상입니다.
    chunkSizeInBytes 정수 청크의 크기입니다.

    단위: 바이트

    compressedSizeInBytes 정수 첨부 파일의 압축된 크기입니다.

    단위: 바이트

    작성됨 날짜 첨부 파일이 생성된 날짜입니다.
    createdBy 문자열 첨부 파일을 생성한 엔터티입니다.
    다운로드 URL 인스턴스의 첨부 파일 URL입니다 ServiceNow .
    fileName 문자열 첨부 파일의 이름입니다.
    해시 문자열 첨부 파일에 필요한 SHA256 다이제스트입니다.

    다운로드한 첨부 파일은 계산된 다이제스트를 이 SHA256 다이제스트와 비교하여 확인됩니다 .

    이미지 높이 정수 이미지의 높이입니다.

    단위: 픽셀

    이미지 너비 정수 이미지의 너비입니다.

    단위: 픽셀

    isCompressed 부울 첨부 파일이 압축되었는지 여부를 나타내는 플래그입니다.
    가능한 값:
    • true: 첨부 파일이 압축됩니다.
    • false: 첨부 파일이 압축되지 않았습니다.
    mimeType 문자열 첨부 파일 MIME 유형입니다.
    수정 카운트 정수 첨부 파일이 수정된 횟수입니다.
    크기인바이트 정수 첨부 파일의 크기입니다.

    단위: 바이트

    sourceSysId 문자열 첨부 파일의 Sys_id입니다.
    sourceTableName 문자열 첨부 파일이 있는 소스 테이블의 이름입니다.
    상태 가용성 상태(예: 조건부, 사용 불가능, 사용 가능, 보류 중)
    sysId 문자열 인스턴스의 각 기록을 식별하는 고유한 32자의 GUID(전역 고유 ID)입니다 ServiceNow .
    태그 문자열 첨부 파일과 연결된 태그 목록입니다.
    업데이트됨 날짜 첨부 파일이 마지막으로 수정된 날짜입니다.
    updatedBy 문자열 첨부 파일을 업데이트한 엔터티입니다.

    NowAttachmentMetadata - 인코딩(인코더로: 인코더로)

    지정된 인코더를 사용하여 현재 개체 값을 데이터로 인코딩합니다.

    개체를 데이터로 인코딩하지 못하면 인코더는 해당 위치에 빈 키 컨테이너를 인코딩합니다. 또한 이 함수는 지정된 인코더의 형식에 대해 잘못된 값이 있는 경우 오류를 throw합니다.

    표 2. 매개변수
    이름 유형 설명
    엔코더로 인코더 인코딩된 출력의 구조를 정의하는 인코더입니다.
    표 3. 반환
    유형 설명
    없음

    다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.

    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 인스턴스를 작성합니다.

    이 메서드는 디코더에서 읽기가 실패하거나 데이터 읽기가 손상되었거나 잘못된 경우 오류를 throw합니다.

    표 4. 매개변수
    이름 유형 설명
    해독기 해독기 데이터를 읽어올 디코더입니다.
    표 5. 반환
    유형 설명
    없음

    다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.

    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)