UIImagePickerController-핵심 데이터에 이미지를 저장하는 방법은 무엇입니까?

십억

을 사용하여 UIImagePicker사진을 찍거나 갤러리에서 사진을 선택할 수있는 앱 이 있습니다. 선택 및 표시는 지금까지 작동했지만 수행 할 작업과 다음 방법에 대한 지침이 필요합니다. 내 대리자 메서드는 다음과 같습니다.

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

    UIImage *chosenImage = info[UIImagePickerControllerEditedImage];
    self.userImageView.image = chosenImage;

    [picker dismissViewControllerAnimated:YES completion:NULL];    
}

따라서 캡처 / 선택된 이미지는 UIImageView.

그것을 저장하는 가장 좋은 방법은 무엇입니까? imageCore Data에 저장 URL하시겠습니까 , 아니면 파일 시스템에 저장 하시겠습니까? 파일 시스템에서 URL을 어떻게 얻을 수 있습니까? 사용자가 사진을 찍거나 갤러리에서 선택하는 것이 중요합니까? 힌트, 아이디어 감사합니다.

Michaël Azevedo

Apple 문서에 따르면 : ( https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreData/Articles/cdPerformance.html )

대형 데이터 개체 (BLOB)

응용 프로그램에서 큰 BLOB (이미지 및 사운드 데이터와 같은 "이진 큰 개체")를 사용하는 경우 오버 헤드를 최소화하도록주의해야합니다. "소형", "보통"및 "대형"의 정확한 정의는 유동적이며 응용 프로그램의 용도에 따라 다릅니다. 대략적인 규칙은 크기가 킬로바이트 정도 인 개체는 "적당한"크기이고 메가 바이트 정도 인 개체는 "대형"크기라는 것입니다. 일부 개발자는 데이터베이스에서 10MB BLOB로 우수한 성능을 달성했습니다. 반면에 애플리케이션의 테이블에 수백만 개의 행이있는 경우 128 바이트조차도 별도의 테이블로 정규화해야하는 "적당한"크기의 CLOB (Character Large OBject) 일 수 있습니다.

일반적으로 영구 저장소에 BLOB를 저장해야하는 경우 SQLite 저장소를 사용해야합니다. XML 및 이진 저장소는 전체 개체 그래프가 메모리에 있어야하며 저장소 쓰기는 원자 적 ( "영구 저장소 기능"참조)이므로 대용량 데이터 개체를 효율적으로 처리하지 못합니다. SQLite는 매우 큰 데이터베이스를 처리하도록 확장 할 수 있습니다. 적절하게 사용되는 SQLite는 최대 100GB의 데이터베이스에 대해 우수한 성능을 제공하며 단일 행은 최대 1GB를 저장할 수 있습니다 (물론 1GB의 데이터를 메모리로 읽는 것은 저장소의 효율성에 관계없이 비용이 많이 드는 작업입니다).

BLOB는 종종 엔티티의 속성을 나타냅니다. 예를 들어 사진은 Employee 엔티티의 속성 일 수 있습니다. 중소 규모의 BLOB (및 CLOB)의 경우 데이터에 대해 별도의 엔터티를 만들고 특성 대신 일대일 관계를 만들어야합니다. 예를 들어 Employee 및 Photograph 엔터티를 일대일 관계로 만들 수 있습니다. 여기서 Employee와 Photograph의 관계는 Employee의 사진 속성을 대체합니다. 이 패턴은 개체 오류의 이점을 극대화합니다 ( "오류 및 Uniquing"참조). 주어진 사진은 실제로 필요한 경우에만 검색됩니다 (관계가 순회되는 경우).

그러나 BLOB를 파일 시스템의 리소스로 저장할 수 있고 해당 리소스에 대한 링크 (예 : URL 또는 경로)를 유지할 수 있다면 더 좋습니다. 그런 다음 필요할 때 BLOB를로드 할 수 있습니다.

따라서 이미지의 크기에 따라 경로 또는 이미지를 CoreData에 저장할 수 있습니다.

UIImage를 저장하려면 NSData에서 변환해야합니다.

NSData imageData = UIImagePNGRepresentation (myImage); NSData imageData = UIImageJPEGRepresentation (myImage, QUALITY);

그런 다음 선택한 경로에 저장할 수 있습니다.

[imageData writeToFile : fullPath atomically : YES];

데이터 모델이 작동하는 방식에 대한 연속성을 유지하기 위해 작은 이미지라도 항상 경로를 사용하는 경향이 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

핵심 데이터에 UIButton 값을 저장하는 방법은 무엇입니까?

분류에서Dev

uibutton을 눌렀을 때 핵심 데이터에 값을 저장하는 방법은 무엇입니까?

분류에서Dev

핵심 데이터에 키 값 쌍을 저장하는 방법은 무엇입니까?

분류에서Dev

핵심 데이터에서로드 된 데이터를 어레이에 저장하는 방법은 무엇입니까?

분류에서Dev

핵심 데이터를 업데이트하고 사용자가 저장 한 데이터를 유지하는 방법은 무엇입니까?

분류에서Dev

collectionviewcell의 이미지를 핵심 데이터에 저장하는 방법

분류에서Dev

SwiftUI에서 필터링 된 핵심 데이터를 합산하는 방법은 무엇입니까?

분류에서Dev

핵심 데이터 sqlite 데이터베이스를 암호화하는 방법은 무엇입니까?

분류에서Dev

SwiftUI에서 핵심 데이터 암호화를 활성화하는 방법은 무엇입니까?

분류에서Dev

핵심 데이터에서 입자 열을 선택하는 방법은 무엇입니까?

분류에서Dev

인스턴스에서 핵심 데이터로 이동하는 방법은 무엇입니까?

분류에서Dev

인스턴스에서 핵심 데이터로 이동하는 방법은 무엇입니까?

분류에서Dev

SwiftUI에서 날짜별로 핵심 데이터 항목을 그룹화하는 방법은 무엇입니까?

분류에서Dev

핵심 데이터의 개체를 업데이트하는 방법은 무엇입니까?

분류에서Dev

변경되는 동안 핵심 데이터에서 데이터베이스를 미리 보는 방법은 무엇입니까?

분류에서Dev

오류없이 모든 핵심 데이터 엔티티를 삭제하는 방법은 무엇입니까?

분류에서Dev

iOS의 핵심 데이터에 JSON 데이터를 저장하는 방법

분류에서Dev

핵심 데이터 모델 (속성)에 데이터를 저장하는 방법

분류에서Dev

UI를 핵심 데이터와 "동기화"하는 방법은 무엇입니까?

분류에서Dev

핵심 데이터에 변환 가능한 개체를 올바르게 저장할 수있는 방법은 무엇입니까?

분류에서Dev

핵심 데이터 마이그레이션을 스쿼시하는 방법은 무엇입니까?

분류에서Dev

핵심 데이터를 Dropbox에 동기화하는 가장 좋은 방법은 무엇인가요?

분류에서Dev

평면도 이미지 방의 중심 좌표를 얻고 저장하는 방법은 무엇입니까?

분류에서Dev

iOS의 핵심 데이터에 json 구문 분석 데이터를 추가하는 방법은 무엇입니까?

분류에서Dev

핵심 데이터 저장 방지

분류에서Dev

경로가 텍스트로 저장되고 실제 파일이 디스크에 저장되는 핵심 데이터 항목을 삭제하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

Swifui : MacOS 앱 : ContentView에서 핵심 데이터 가져 오기 OK,하지만 AppDelegate의 결과를 사용하는 방법은 무엇입니까?

분류에서Dev

핵심 데이터에 여러 레코드를 저장하는 방법

분류에서Dev

핵심 데이터의 데이터를 재정의하는 방법은 무엇입니까? Core Data에서 중복 데이터를 해결하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    핵심 데이터에 UIButton 값을 저장하는 방법은 무엇입니까?

  2. 2

    uibutton을 눌렀을 때 핵심 데이터에 값을 저장하는 방법은 무엇입니까?

  3. 3

    핵심 데이터에 키 값 쌍을 저장하는 방법은 무엇입니까?

  4. 4

    핵심 데이터에서로드 된 데이터를 어레이에 저장하는 방법은 무엇입니까?

  5. 5

    핵심 데이터를 업데이트하고 사용자가 저장 한 데이터를 유지하는 방법은 무엇입니까?

  6. 6

    collectionviewcell의 이미지를 핵심 데이터에 저장하는 방법

  7. 7

    SwiftUI에서 필터링 된 핵심 데이터를 합산하는 방법은 무엇입니까?

  8. 8

    핵심 데이터 sqlite 데이터베이스를 암호화하는 방법은 무엇입니까?

  9. 9

    SwiftUI에서 핵심 데이터 암호화를 활성화하는 방법은 무엇입니까?

  10. 10

    핵심 데이터에서 입자 열을 선택하는 방법은 무엇입니까?

  11. 11

    인스턴스에서 핵심 데이터로 이동하는 방법은 무엇입니까?

  12. 12

    인스턴스에서 핵심 데이터로 이동하는 방법은 무엇입니까?

  13. 13

    SwiftUI에서 날짜별로 핵심 데이터 항목을 그룹화하는 방법은 무엇입니까?

  14. 14

    핵심 데이터의 개체를 업데이트하는 방법은 무엇입니까?

  15. 15

    변경되는 동안 핵심 데이터에서 데이터베이스를 미리 보는 방법은 무엇입니까?

  16. 16

    오류없이 모든 핵심 데이터 엔티티를 삭제하는 방법은 무엇입니까?

  17. 17

    iOS의 핵심 데이터에 JSON 데이터를 저장하는 방법

  18. 18

    핵심 데이터 모델 (속성)에 데이터를 저장하는 방법

  19. 19

    UI를 핵심 데이터와 "동기화"하는 방법은 무엇입니까?

  20. 20

    핵심 데이터에 변환 가능한 개체를 올바르게 저장할 수있는 방법은 무엇입니까?

  21. 21

    핵심 데이터 마이그레이션을 스쿼시하는 방법은 무엇입니까?

  22. 22

    핵심 데이터를 Dropbox에 동기화하는 가장 좋은 방법은 무엇인가요?

  23. 23

    평면도 이미지 방의 중심 좌표를 얻고 저장하는 방법은 무엇입니까?

  24. 24

    iOS의 핵심 데이터에 json 구문 분석 데이터를 추가하는 방법은 무엇입니까?

  25. 25

    핵심 데이터 저장 방지

  26. 26

    경로가 텍스트로 저장되고 실제 파일이 디스크에 저장되는 핵심 데이터 항목을 삭제하는 가장 좋은 방법은 무엇입니까?

  27. 27

    Swifui : MacOS 앱 : ContentView에서 핵심 데이터 가져 오기 OK,하지만 AppDelegate의 결과를 사용하는 방법은 무엇입니까?

  28. 28

    핵심 데이터에 여러 레코드를 저장하는 방법

  29. 29

    핵심 데이터의 데이터를 재정의하는 방법은 무엇입니까? Core Data에서 중복 데이터를 해결하는 방법은 무엇입니까?

뜨겁다태그

보관