【发布时间】:2014-06-18 09:03:04
【问题描述】:
我试图在 Swift 中访问临时目录。在 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 * 或 CMutablePointer<CChar>。有没有我应该查看的文件?
谢谢。
【问题讨论】:
标签: objective-c macos cocoa swift