2010-09-08 13 views
32

का उपयोग कर निर्देशिका और इसकी सामग्री को कैसे निकालें उद्देश्य सी के लिए नया। मैंने कुछ निर्देशिकाएं बनाई हैं जिनमें एक आईफोन ऐप के लिए पीडीएफ फाइलें हैं। NSFileManager का उपयोग करके मैं निर्देशिका और इसकी सामग्री कैसे हटा सकता हूं?NSFileManager

क्या मुझे पहले सामग्री को लूप करने और हटाने की आवश्यकता है? किसी भी कोड नमूने की सराहना की जाएगी।

अग्रिम धन्यवाद।

उत्तर

44

शुरू करने के लिए, आईफोन के लिए ऐप्पल के NSFileManager दस्तावेज़ों को देखना बुद्धिमान होगा: NSFileManager Class Reference। दूसरा, NSFileManager की -removeItemAtPath:error: विधि और उसके दस्तावेज़ देखें। यही वह है जिसे आप ढूंढ रहे हैं।

+2

सूट करने के लिए संपादित: त्रुटि: यह भी सामग्री को हटा देगा? एक मूर्ख सवाल की तरह लगता है, लेकिन मुझे मिला एकमात्र अन्य उदाहरण पहले निर्देशिका की सामग्री को हटा देता है। –

+22

हां, यह होगा, और यदि आप किसी चीज़ के बारे में कभी संदेह में हैं, तो यह देखने के लिए कि क्या यह करता है, बस एक छोटा परीक्षण कार्यक्रम स्थापित करें। –

+8

@ItaiFerber यह कोशिश कर रहा है ठीक है, लेकिन वेब पर यहां एक खोज योग्य, भीड़-सोर्स किए गए उत्तर में परिणाम पूछ रहे हैं। तो: पहले पूछना इसके फायदे हैं। –

35

Heres कुछ कोड मैं का उपयोग करें कि Ive अगर मैं -removeItemAtPath के लिए एक निर्देशिका पारित सवाल

- (NSMutableString*)getUserDocumentDir { 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSMutableString *path = [NSMutableString stringWithString:[paths objectAtIndex:0]]; 
    return path; 
} 


- (BOOL) createMyDocsDirectory 
{ 
    NSMutableString *path = [self getUserDocumentDir]; 
    [path appendString:@"/MyDocs"]; 
    NSLog(@"createpath:%@",path); 
    return [[NSFileManager defaultManager] createDirectoryAtPath:path 
              withIntermediateDirectories:NO 
              attributes:nil 
              error:NULL]; 
} 

- (BOOL) deleteMyDocsDirectory 
{ 
    NSMutableString *path = [self getUserDocumentDir]; 
    [path appendString:@"/MyDocs"]; 
    return [[NSFileManager defaultManager] removeItemAtPath:path error:nil]; 
} 
+0

छवियों के विशिष्ट सेट को कैसे हटाएं? – Bazinga

+2

appendString के बजाय stringByAppendingPathComponent पर विचार करें! –

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