2011-08-20 4 views
1

특정 데이터가있는 파일을 복원하려면 어떻게해야합니까? 사용자가 데이터를 복원하고자하는 파일을 입력하고 해당 파일이 없으면 데이터로 작성해야합니다. 이것은 모두 암호화 도구의 일부입니다. 그래서 나는 사용자, 파일을 선택하고, 그것을 암호화 말한다. 따라서 암호화 된 데이터가 있습니다. 하지만 이제는이 암호화 된 데이터를 파일로 옮겨야합니다. 그러면 사용자가 암호화 된 데이터가 포함 된 파일을 가져와 암호를 해독하여 올바른 키를 입력 한 원래 파일을 가져올 수 있습니다.데이터 코코아로 파일을 복원 하시겠습니까?

충분히 명확하길 바랍니다. 모든 도움은 대단히 감사하겠습니다.

+0

아니요, 확실하지 않습니다. "복원"은 일반적으로 "복원"을 의미합니다. 실제로 새로운 (암호화 된) 데이터를 새 파일에 쓰고 싶습니까? – Flyingdiver

+0

명확하지 않은 경우 사과드립니다. 네, 새로운 암호화 된 데이터를 새로운 파일에 쓰고 싶습니다. –

답변

0

경로를 하드 코딩하는 대신 NSHomeDirectory를 사용하여 문제를 해결했습니다. 도움을 주셔서 감사합니다.

0

NSFileManager를 사용하여 데이터의 파일 경로를 가져온 다음 작성할 수 있습니다 (writeToFile : 메소드). 이런 식으로 뭔가 :

- (void) saveCriteriaToFile: (NSArray *) criteria 
{  
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES); 
NSString *supportDir = [[paths objectAtIndex:0] stringByAppendingPathComponent: @"StokerX"]; 

NSString *saveFilePath = [supportDir stringByAppendingPathComponent: kSavedNotificationsFile]; 

NSFileManager *fileManager = [NSFileManager defaultManager]; 

if ([fileManager fileExistsAtPath: saveFilePath] == NO) 
{ 
    [fileManager createDirectoryAtPath: supportDir withIntermediateDirectories:YES attributes:nil error:nil]; 
} 

[criteria writeToFile:saveFilePath atomically:YES]; 
} 

이 하나가 pilist에있는 NSArray 객체를 작성하지만, 당신이있는 NSData 객체와 거의 동일 않습니다.

+0

'writeToFile : atomicically :'NSArray (또는 NSData 또는 무엇이든) 객체의 메소드이며 NSFileManager 객체는 아닙니다. NSFileManager 메소드는'createFileAtPath : contents : attributes :'입니다. –

+0

꽤 옳습니다. 그 대답을 다소 명확히하기 위해 업데이트했습니다. – Flyingdiver

관련 문제