2016-07-06 39 views
-3

我在使用「facts.plist」顯示事實(字符串)按下按鈕後,我有一個按鈕,那個字符串寫入「favourites.txt」文件,我可以使用它未來的使用。如何在iOS中寫入plist文件時保存多個字符串而不覆蓋?

下面是該代碼:

NSArray *paths = NSSearchPathForDirectoriesInDomains 
(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 

NSString *fileName = [documentsDirectory stringByAppendingPathComponent:@"MyFavorites.txt"]; 
         //documentsDirectory]; 

[self.displayJoke.text writeToFile:fileName 
      atomically:NO 
      encoding:NSStringEncodingConversionAllowLossy 
       error:nil]; 
NSError *error; 
NSString *str = [NSString stringWithContentsOfFile:fileName encoding:NSUTF8StringEncoding error:&error]; 
NSLog(@"%@", str); 

但每次我點擊該按鈕時以前的字符串獲取與新的字符串覆蓋。我如何創建一個字典或數組來防止這種情況?

+0

通過創建字典或數組。 – Putz1103

+0

如何從中創建字典?我使用self.displayJoke.text來顯示一個字符串。如果我按下「點擊新的笑話」按鈕,它會得到更新。謝謝 –

回答

2

每次我點擊該按鈕之前的字符串被用新的字符串

它不會「被覆蓋」覆蓋。 要覆蓋它:

[self.displayJoke.text writeToFile:fileName 
     atomically:NO 
     encoding:NSStringEncodingConversionAllowLossy 
      error:nil]; 

那行替換文件文件名有一個新的文件。如果這不是你想要做的,那麼不要那樣做。如果你想包含文件的現有內容,那麼首先閱讀文件並將其包含在你寫的內容中。 (或者,您可以查看NSFileHandle,它允許您附加到文件。)

相關問題