在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

回到顶部