我正在处理的应用程序会创建pdf文件并将其保存在设备的文档目录中。我尝试做的是创建具有唯一ID号的文件名,例如" invoice76.pdf"。
如何确保每次创建pdf文件时,数字会从先前的文件名增加。
我尝试使用全局int,但每次启动应用程序时都显然会重置它。
答案 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。然后在加载时,按升序对数组进行排序,然后列出您的列表。