2012-11-29 10 views
11

मैं निम्नलिखित पथ के लिए लिखने के लिए कोशिश कर रहा हूँ:क्या हमें लिखने के लिए दस्तावेज़ों में सबफ़ोल्डर बनाने की आवश्यकता है, जिसमें एक नया फ़ोल्डर है जिसमें पथ है?

 NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 
     NSString *storePath = [docDir stringByAppendingPathComponent:@"/newfolder/test.jpg"]; 

     NSData *data = [NSData dataWithData:UIImagePNGRepresentation(image)]; 
     BOOL saved = [data writeToFile:storePath atomically:NO]; 
     NSLog(@"%c", saved); 

अब, कुछ भी नहीं मुद्रित हो जाता है और मैं अपने सिम्युलेटर में फ़ाइल नहीं देख सकता। ऐसा इसलिए है क्योंकि दस्तावेज़ों के मुख्य फ़ोल्डर में "newfolder" फ़ोल्डर अभी तक नहीं बनाया गया है। यदि हां, तो क्या इसे बनाने का कोई तरीका है यदि यह अभी तक नहीं है?

धन्यवाद!

उत्तर

22

हां, आपको यह सुनिश्चित करना होगा कि फ़ोल्डर पहले बनाया गया हो। उस फ़ोल्डर के पथ में NSFileManager createDirectoryAtPath:withIntermediateDirectories:attributes:error: का उपयोग करें जिसे आप बनाना चाहते हैं (वह फ़ाइल नहीं जिसे आप लिखने की कोशिश कर रहे हैं)।

NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 
NSString *storePath = [docDir stringByAppendingPathComponent:@"newfolder/test.jpg"]; 

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

NSData *data = [NSData dataWithData:UIImagePNGRepresentation(image)]; 

आप इन तरीकों में से वापसी मान की जाँच करें और किसी भी विफलताओं संभाल चाहिए।

+0

मीठे! धन्यवाद मैं वह करूँगा! – abisson

+0

Plz आईओएस में छवियों को जोड़ने के लिए दस्तावेज़ फ़ोल्डर बनाने में मदद करता है। –

+0

धन्यवाद। '[NSFileManager डिफ़ॉल्ट प्रबंधक' के बाद एक गायब ']' है। – Jos

संबंधित मुद्दे

 संबंधित मुद्दे