如何在iOS中的文档目录中保存具有唯一标记的文件?

时间:2014-10-31 10:43:50

标签: ios objective-c iphone tags nsfilemanager

注意:文件名由用户

提供

在我的一个应用程序中,我需要在文档目录中使用任何唯一标记创建文件(最好在String中提供标记!)。

我已经搜索过但没有运气。我知道如何在文档目录中创建文件但是坚持给它提供uniqe标记。

如果有人做过,那么请让我知道怎么做。

2 个答案:

答案 0 :(得分:1)

我使用时间间隔来保存唯一文件。

int timestamp = [[NSDate date] timeIntervalSince1970];

NSString *fileName = [NSString stringWithFormat:@"%d",timestamp];

修改

// Or As you said if fileName is given by user.

NSString *userFileName = [NSString stringWithFormat:@"%@_%d",USER_GIVEN_NAME,timestamp];

// Here USER_GIVEN_NAME is a string which is file name from user.

如果用户使用相同的名称,则无关紧要,因为无论何时尝试保存文件,时间的一小部分都会发生变化,您将获得唯一的时间间隔。

答案 1 :(得分:0)

你可以使用时间戳(作为Kampai的回答),或者你可以附加日期和文件名,使名称与下面的代码一样唯一

NSCalendar *sysCalendar = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
NSDateFormatter *df = [[NSDateFormatter alloc]init];
df.calendar = sysCalendar;
[df setTimeZone:[NSTimeZone systemTimeZone]];
[df setDateFormat:@"mmddyyyyHHmmss"];
NSString *strDate = [df stringFromDate:[NSDate date]];

NSString *name = [NSString stringWithFormat:@"%@_%@",@"yourfilename",strDate];

也许这会对你有帮助。