में temp निर्देशिका एक्सेस करना मैं स्विफ्ट में temp निर्देशिका तक पहुंचने का प्रयास कर रहा था। ऑब्जेक्टिव-सी में, मैं ऐसा करने के लिए निम्नलिखित कोड का उपयोग कर सकता:स्विफ्ट
- (NSString *)tempDirectory {
NSString *tempDirectoryTemplate =
[NSTemporaryDirectory() stringByAppendingPathComponent:@"XXXXX"];
const char *tempDirectoryTemplateCString = [tempDirectoryTemplate fileSystemRepresentation];
char *tempDirectoryNameCString = (char *)malloc(strlen(tempDirectoryTemplateCString) + 1);
strcpy(tempDirectoryNameCString, tempDirectoryTemplateCString);
char *result = mkdtemp(tempDirectoryNameCString);
if (!result) {
return nil;
}
NSString *tempDirectoryPath = [[NSFileManager defaultManager] stringWithFileSystemRepresentation:tempDirectoryNameCString length:strlen(result)];
free(tempDirectoryNameCString);
return tempDirectoryPath;
}
हालांकि, मैं थोड़ा प्रकार रूपांतरण के बारे में भ्रमित कर रहा हूँ और स्विफ्ट के लिए ऑब्जेक्टिव-सी से कास्टिंग, जैसे const char *
या CMutablePointer<CChar>
। क्या कोई दस्तावेज है जिसमें मुझे देखना चाहिए?
धन्यवाद।
ध्यान दें कि बीएसडी समारोह 'mkdtemp()' 'NSFileManager createDirectoryAtPath' विधि से अलग है क्योंकि यह दिया टेम्पलेट से कोई * अद्वितीय निर्देशिका का नाम * पैदा करता है। –
@Grimxn धन्यवाद! मैं इसे बाद में कोशिश करूंगा। बीटीडब्ल्यू लगता है 'createDirectoryAtPath (पथ: स्ट्रिंग !, विशेषताएँ: NSDictionary!)' को बहिष्कृत किया गया है, अब यह 'createDirectoryAtURL है :IntermediateDirectories: विशेषताएँ: त्रुटि: '। और इसका मतलब है कि मैं उसी विधि के साथ एक temp फ़ाइल बनाने के लिए 'createFileAtPath() 'का उपयोग कर सकता हूं? –
@MartinR तो अगर मैं createDirectoryAtPath का उपयोग करता हूं तो मुझे अपना अनूठा नाम बनाना होगा? –