2012-06-25 7 views
10

मैं दस्तावेज़ फ़ोल्डर ::Xcode में एक फ़ोल्डर प्रोग्राम बनाएं - उद्देश्य सी

NSString *docDir = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]; 
NSLog(@"docDir is yoyo :: %@", docDir); 
NSString *FilePath = [docDir stringByAppendingPathComponent:@"yoyo.txt"]; 

हालांकि में yoyo.txt की मेरी फाइल को बचाने के लिए कोड की निम्न पंक्ति का उपयोग कर रहा है, मैं में मेरी फाइल को सेव करना चाहते हैं यायो के फ़ोल्डर यानी दस्तावेज़ फ़ोल्डर के अंदर यानी मैं "yoyo" नामक एक और फ़ोल्डर बनाना चाहता हूं और फिर इसमें yoyo.txt की अपनी फ़ाइल को सहेजना चाहता हूं। मैं उसे कैसे कर सकता हूँ ?? धन्यवाद।

+0

बचत Xcode IDE है के लिए अंतिम रास्ता हो जाएगा। भाषा उद्देश्य सी है, आप एक ही कोड को एक टेक्स्ट एडिटर में लिख सकते हैं और इसे कमांड लाइन पर संकलित कर सकते हैं। यद्यपि 'एक्सकोड' और' उद्देश्य सी 'को मिलाकर यह एक आम गलती है। –

उत्तर

15

यहाँ (मान manager[NSFileManager defaultManager] है) एक नमूना कोड है:

BOOL isDirectory; 
NSString *yoyoDir = [docDir stringByAppendingPathComponent:@"yoyo"]; 
if (![manager fileExistsAtPath:yoyoDir isDirectory:&isDirectory] || !isDirectory) { 
     NSError *error = nil; 
     NSDictionary *attr = [NSDictionary dictionaryWithObject:NSFileProtectionComplete 
                 forKey:NSFileProtectionKey]; 
     [manager createDirectoryAtPath:yoyoDir 
      withIntermediateDirectories:YES 
          attributes:attr 
           error:&error]; 
     if (error) 
      NSLog(@"Error creating directory path: %@", [error localizedDescription]); 
    } 
+0

आपके कोड में "isDictionary" क्या है। एनएस डिक्शनरी का उद्देश्य भी है जिसे आपने अपने कोड में घोषित किया है ?? – kamalbhai

+0

isDictionary BOOL है, यह जांचने के लिए प्रयोग किया जाता है कि पथ में मौजूद फ़ाइल निर्देशिका है, क्योंकि ऐसी फ़ाइल हो सकती है जो निर्देशिका नहीं है ... शब्दकोश का उपयोग कोड में नई बनाई गई निर्देशिका के लिए विशेषताओं को पास करने के लिए किया जाता है यह पोस्ट किया गया है 'फ़ाइल डिस्क पर एन्क्रिप्टेड प्रारूप में संग्रहीत है और डिवाइस को लॉक या बूट करने के दौरान लिखा या लिखा नहीं जा सकता है।' आप इसे 'शून्य' पास कर सकते हैं। आप [NSFileManager क्लास रेफरेंस] भी देख सकते हैं (https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/nsfilemanager_Class/Reference/Reference.html) – graver

11
+(void)createDirForImage :(NSString *)dirName 
{ 
    NSString *path; 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    path = [[paths objectAtIndex:0] stringByAppendingPathComponent:dirName]; 
    NSError *error; 
    if (![[NSFileManager defaultManager] fileExistsAtPath:path]) //Does directory already exist? 
    { 
     if (![[NSFileManager defaultManager] createDirectoryAtPath:path 
             withIntermediateDirectories:NO 
                 attributes:nil 
                  error:&error]) 
     { 
      NSLog(@"Create directory error: %@", error); 
     } 
    } 

} 
2

यहाँ datapath अपनी फ़ाइल

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
     NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder 
     NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"/yoyo"]; 

     if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath]){ 
      [[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:&error]; //Create folder 
    } 
    dataPath = [dataPath stringByAppendingPathComponent:@"/yoyo.txt"]; 
संबंधित मुद्दे