iOS - 增加用于创建文件名的ID号

时间:2016-03-21 21:42:25

标签: ios objective-c

我正在处理的应用程序会创建pdf文件并将其保存在设备的文档目录中。我尝试做的是创建具有唯一ID号的文件名,例如" invoice76.pdf"。

如何确保每次创建pdf文件时,数字会从先前的文件名增加。

我尝试使用全局int,但每次启动应用程序时都显然会重置它。

3 个答案:

答案 0 :(得分:1)

最简单的解决方案可能是将其存储在NSUserDefaults中。或者,您可以将值保存在自己的plist file

答案 1 :(得分:1)

使用此代码可以重新启动应用程序:

- (void)storeIndex:(NSInteger)index{
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    //change value to new value
    [defaults setInteger:index forKey:@"pdfIndex"];
    //make save
    [defaults synchronize];
}

- (NSInteger)lastIndex{
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    NSInteger value = [defaults integerForKey:@"pdsIndex"];
    return value;
}

//stores new index and returns its value
- (NSInteger)incrementIndex{
    NSInteger lastIndex = [self lastIndex];
    lastIndex++;
    [self storeIndex:lastIndex];
    return lastIndex;
}

答案 2 :(得分:0)

从nsdate中提取nsstring时间戳,如果同时保存多个文件(并且您不想使用大量时间戳),则在for循环中递增n。这将保证唯一的ID。然后在加载时,按升序对数组进行排序,然后列出您的列表。