2015-01-12 3 views
0

그래서 나는 이런 상황에 처했습니다. 하나의 앱 단계에서 나는 그의 사진 라이브러리에서 모든 사용자 사진을 얻습니다. 나는 그들을 ALAsset's으로받습니다. 나는 그가 원하는 사진을 선택하게했다. 그런 다음 선택한 사진을 HIGH_ 접두사가있는 전체 크기 사진과 LOW_ 접두사가있는 사진의 미리보기 이미지로 응용 프로그램 디렉토리에 저장합니다. 사진에 시간과 같은 속성이 있기 때문에 필요합니다. HIGH_ 또는 LOW_로 시작하는 사진 이름 필드를 사용하여 SQL 데이터베이스에 해당 속성을 저장합니다. 내가 사진을 얻으려면 DB에서 속성을 얻은 다음 [UIImage imageWithContentsOfFile:photoPath]을 수행하십시오. 누군가가 저에게 더 효율적인 방법을 말해 줄 수 있습니까? 사진을 쓰고 사진을 찍는 데는 시간이 걸리기 때문입니다. 그리고 iPhone 4에서는 때로는 메모리 경고를받습니다. 또 다른 질문은 웹에서 가져온 사진을 어떻게 저장해야합니까?웹에서 사용자 사진 및 사진 저장

답변

0

내가 그렇군요, 대신 핵심 데이터를 사용하는 애플은 기록

당신은 파일 시스템의 자원으로 BLOB를 저장하고, 같은 URL에 대한 링크를 (유지 수 있다면 그것은, 그러나, 더 나은 또는 경로)를 그 자원에 할당 할 수 있습니다. 그런 다음 필요에 따라 BLOB을로드 할 수 있습니다.

그럼 제대로하고 있지만 어쩌면 당신은 transformables 체크 아웃해야합니다. 섹션에서 https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/CoreData/Articles/cdPerformance.html '대형 데이터 오브젝트 (BLOB를) "

변형 가능한 함께 할 수있는 또 다른 방법 : 당신이 경고

문서에서

을 받고 있다면 그냥 당신이 메모리에서 사용하지 않는 이미지를 제거해야합니다 : 사실 Which way to store data(image)? NSData, String or Transformable

, 아마도 transformables 핵심 데이터를위한 최소한 : How should I store UIImages within my Core Data database?

+0

내가 핵심 데이터의 기본을 알고하지만 난이 프로젝트 마녀 빌드가 어쩌면 번째 SQLite는 사용하던 기존에 합류했다.. 이 일을하는 또 다른 방법은 무엇입니까? 어쩌면 내가 지금하고있는 일에 어떤 최적화가 있을까요? – CarlHere

+0

데이터베이스가 파일 위치 만 저장하는 경우 올바르게 작동하는 것처럼 보입니다. 메모리 경고는 단지 한 번에 너무 많은 이미지를 메모리에로드한다는 것을 의미하므로, 한 번에 메모리를 적게 유지하여이 문제를 해결해야합니다. – Alex

+0

데이터베이스에 바이너리 데이터를 저장하는 방법은 무엇입니까? 그게 더 효율적일까요? – CarlHere