在Swift中访问temp目录
我试图在Swift中访问temp目录。在Objective-C中,我可以使用以下代码进行操作:
- (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;
}
但是,对于将类型从Objective-C转换为Swift const char *
或从Swift转换为类型,我有些困惑
CMutablePointer<CChar>
。我应该查看任何文件吗?
谢谢。
回答:
怎么样:
func createTempDirectory() -> String? { let tempDirectoryTemplate = NSTemporaryDirectory().stringByAppendingPathComponent("XXXXX")
let fileManager = NSFileManager.defaultManager()
var err: NSErrorPointer = nil
if fileManager.createDirectoryAtPath(tempDirectoryTemplate, withIntermediateDirectories: true, attributes: nil, error: err) {
return tempDirectoryTemplate
} else {
return nil
}
}
它没有回答您有关char *的问题,但它更干净…
NSFileManager参考在这里。
以上是 在Swift中访问temp目录 的全部内容, 来源链接: utcz.com/qa/406483.html