2012-10-25 2 views
1

임시 디렉토리에 파일을 쓰려고합니다. 나는 이것을 이렇게하고있다 :임시 디렉토리에 쓰기가 작동하지 않습니다.

NSString *_location = NSTemporaryDirectory(); 
NSString *_guid = [[NSCalendarDate calendarDate] descriptionWithCalendarFormat:@"%m%d%Y%H%M%S%F"]; 
_guid = [_guid stringByAppendingString:@".png"]; 
NSString *_tempFilePath = [NSString stringWithFormat:@"%@/%@", _location, _guid]; 
NSData *_temp_data = [imgRep representationUsingType: NSPNGFileType properties: nil]; 
[_temp_data writeToFile:_tempFilePath atomically: NO]; 

그러나 그것은 나를 위해 작동하지 않는다. 파일을 만들지 않습니다. 뭐가 문제 야?

P. NSTemporaryDirectory에서 고유 한 이름을 가진 디렉토리를 만든 다음 그곳에 파일을 쓰려고했지만 그 중 하나가 작동하지 않았습니다.


어디서나 파일이 생성되지 않는 것으로 나타났습니다. 사용자의 문서 폴더에 위치를 설정하려했지만 작동하지 않습니다.

+0

'_uid' 및'_guid' ??? – trojanfoe

+0

죄송합니다. 코드를 다시 작성하는 동안 실수를했습니다. – hockeyman

답변

2
이미지를 작성하기위한

경로가 올바르지 않습니다

[[NSFileManager defaultManager] createDirectoryAtPath:_directoryPath 
          withIntermediateDirectories:YES 
              attributes:nil error:nil]; 

[_myData writeToFile:[_directoryPath stringByAppendingPathComponent:_fileName] 
      atomically:YES]; 
:

NSString *_tempFilePath = [NSString stringWithFormat:@"%@/%@", _location,_guid]; 

또는

NSString *_tempFilePath = [location stringByAppendingPathComponent:@"%@",guid]; 
+0

'[NSString stringByAppendingPathComponent]'가 더 나은 방법입니다 ... – trojanfoe

+0

여전히 파일을 만들지 않습니다. '/var/folders/_n/fqxvr8rd543f3c9mvbd30_y40000gp/T/10252012155853582.png을',하지만 파일은 – hockeyman

+0

지금 편집 체크 대답 –

2

잠재적으로 새로운 디렉토리 내부의 파일에 쓸 경우

, 먼저 디렉토리를 생성해야
+0

나는 디렉토리를 만들지 않고, OS X에서 이미 생성 한 임시 디렉토리에 파일을 작성하려고 시도하고있다. – hockeyman

+0

@ JuliusPetraška Prince의 대답에 대한 의견에서, 디렉토리하지만하지 않을 때 ??? – trojanfoe

+0

나는 거기에 디렉토리를 만들 수는 있지만 파일을 만들 수는 없다는 것을 의미했습니다. – hockeyman