2016-03-21 11 views
0

私が作業しているアプリケーションは、pdfファイルを作成し、デバイスのドキュメントディレクトリに保存します。私がしようとしているのは、一意のID番号を持つファイル名を作成することです(例えば、 "invoice76.pdf")。iOS - ファイル名を作成するためのID番号を増やす

pdfファイルが作成されるたびに、前のファイル名から数字が増えていくようにするにはどうすればよいですか。

グローバルintを使用しようとしましたが、明らかにアプリケーションが起動するたびにリセットされます。

+1

あなたのアプリには、ユーザーが変更できる設定があると思われますか?例えば永続的なデータストレージのいくつかの種類?最後に使用したID番号をそこに保管してください。 –

+0

私は現時点ではユーザーの好みはありませんが、それは正しい方向に私を指しています、ありがとう! – al3

答えて

1

恐らく最も簡単な解決策は、NSUserDefaultsに保存することです。あるいは、値を自分のplist fileに保存することもできます。

1

使用betweebアプリの再起動を動作します。このコード:

- (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; 
} 
0

nsdateからNSStringのタイムスタンプを引き、同時に複数のファイルを保存する場合は(あなたが大規模なタイムスタンプを使用したくない)インクリメントforループでnを通します。これにより一意のIDが保証されます。次に、ロード時に配列を昇順にソートするとリストが表示されます。

関連する問題