2012-03-09 5 views
0

私はフォームを持っているアプリケーションで作業しています。フォームが記入され、ユーザーが「提出」ボタンを押すと、人物の名前と現在の日付/時刻がファイルに保存されます。フォームが記入されて提出されるたびに、(残念ながら)ファイルは現在のファイルで上書きされます。私の質問は、以前のファイルを上書きせずに、別のファイルとして保存するたびに同じフォームを保存するにはどうすればいいですか?iOS複数のファイルにフォームデータを保存する

+1

。いくつかのコードが役に立ちます。 –

答えて

0

私は矛盾した名前の任意のファイルに番号を追加するためのアルゴリズムを書いた:私たちは本当にあなたがこの「フォーム情報」を保存しようとしている方法のように、より多くの情報が必要だと思う

- (NSString *)getDocumentPath{ 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

    NSString *path = [[paths objectAtIndex:0] stringByAppendingPathComponent://nameOfFile]; 

     //Check For Duplicate Objects 
     if ([[NSFileManager defaultManager] fileExistsAtPath:path]) { 
      int i = 0; 
      //Duplicate Found, enter while loop to append number to it. 
      while ([[NSFileManager defaultManager] fileExistsAtPath:path]) { 
       //nil out string 
       NSString *newString = nil; 
       NSString *pathExtension = nil; 
       //build string with new number 
       newString = [NSString stringWithFormat:@"%@%d",[[self.itemArray objectAtIndex:self.tableView.indexPathForSelectedRow.row] stringByDeletingPathExtension],i]; 
       pathExtension =[[self.itemArray objectAtIndex:self.tableView.indexPathForSelectedRow.row] pathExtension]; 
       //query again for duplicates 
       if (![[NSFileManager defaultManager] fileExistsAtPath:[[[paths objectAtIndex:0]stringByAppendingPathComponent:newString]stringByAppendingPathExtension:pathExtension]]) { 
        //success, break,write to file 
        return [[[paths objectAtIndex:0]stringByAppendingPathComponent:newString]stringByAppendingPathExtension:pathExtension]; 
        break; 
       } 
       //nope, increment int and try again 
       i++; 
      } 
     } 
    else return path; 

} 
+0

本当にありがとう、ありがとう! –

+0

承認済みとしてマークすることを忘れないでください – CodaFi

関連する問題