如何使用Cocoa创建临时文件?

45

多年前,当我使用C#时,我可以轻松地创建一个临时文件并使用这个函数获取其名称:

Path.GetTempFileName();

这个函数会在临时目录中创建一个唯一命名的文件,并返回该文件的完整路径。

在Cocoa API中,我能找到最接近的是:

NSTemporaryDirectory

我是否漏掉了一些显而易见的东西,还是说没有内置的方法可以做到这一点?


使用C# API时需要注意:它的命名空间仅限于65k个文件,一旦超出这个限制就会抛出异常。我们在生产环境中遇到过这种情况——并非所有程序都会认真清理临时文件。 - fzwo
11个回答

0

补充@Philipp的回答:

- (NSString *)createTemporaryFile:(NSData *)contents {
    // Create a unique file in the system temporary directory
    NSString *guid = [[NSProcessInfo processInfo] globallyUniqueString];
    NSString *path = [NSTemporaryDirectory() stringByAppendingPathComponent:guid];
    if(![self createFileAtPath:path contents:contents attributes:nil]) {
        return nil;
    }
    return path;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接