2010-05-09 9 views
4

NSManagedObject와 관련된 파일의 이름을 지정하는 가장 좋은 방법은 무엇입니까? NSManagedObject는이 파일의 URL을 보유합니다.NSManagedObject에서 디스크의 파일 참조

하지만 내 파일의 고유 한 파일 이름을 만들어야합니다. 사용할 수있는 자동 증가 ID가 있습니까? mktemp를 사용해야 하나 (임시 파일이 아님) NSManagedObjectId를 파일 이름으로 변환하려고합니까? 하지만 문제를 일으킬 수있는 특수 문자가있을 것을 두려워합니다.

무엇을 제안하겠습니까?

편집 : 나는이 NSManagedObjects를 많이 가지고 있으며 각 이미지에는 고유 한 이미지가 있으므로 각 그림마다 고유 한 이름을 생성하려고합니다.

[[NSProcessInfo processInfo] globallyUniqueString] 

을 그리고 난 그냥 GUID를 NSManagedObject과 재산을 지키는 제안하고 단지 응용 프로그램 지원 디렉토리에서 해당 이름으로 파일을 참조 거라고 파일을 참조 :

답변

2

이 작업을 수행하는 좋은 방법이 있으며 거의 ​​모든 이전 프로세스에 대한 GUID를 생성하는 대신 이미지에 대한 GUID를 생성해야합니다. 고유 한 문자열이 필요할 때마다이 메서드를 호출 한 다음 관리 대상에 저장합니다.

+ (NSString *)getUUID 
{ 
    CFUUIDRef theUUID = CFUUIDCreate(NULL); 
    CFStringRef string = CFUUIDCreateString(NULL, theUUID); 
    CFRelease(theUUID); 
    return [(NSString *)string autorelease]; 
} 

캡쳐 한 동영상 및 이미지를 저장하는 데 사용합니다.

3

당신은 NSProcessInfo이 GUID를 생성하는 데 사용할 수 있습니다.

+0

감사합니다. 그러나, 나는이 NSManagedObjects가 많이 있습니다. 그들은 모두 이미지가 있습니다. 내 질문은 어떻게 다른 NSManagedObjects에서 이미지를 구별하는 더 많은 방법이었다. – Kamchatka

0

고유 한 파일 이름을 생성하는 데 시간을 사용하는 방법을 생각했지만 해결책이 마음에 들지 않았습니다. 예를 들어 시간이 재설정되거나 변경되는 경우 동일한 파일 이름이 두 번 나타날 수 있습니다.

웹에서이 주제에 대한 더 많은 정보를 찾지 않아서 놀랍습니다.

관련 문제