2011-02-24 48 views
0

親愛的所有人。 我正面臨一個問題。 我在xcode的模擬器上工作時可以讀寫plist。但是當我在iPhone中部署應用程序時,我無法寫出plist文件。在iPhone上部署後無法在plist文件上寫上

我已經創建了一個有2個按鈕的示例項目。通過一個按鈕,我可以顯示來自plist的文本。通過第二個按鈕,我試圖寫在那個plist上。但寫作不會發生。點擊第二個按鈕時,該應用不會崩潰。我無法理解我的代碼中的問題。

/*code is given below*/ 
-(void)writePlist:(NSString *)fname withArray:(NSMutableArray *) myArray 
{ 
    NSString * path = nil; 
    path = [(NSString *) [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:fname]; 
    [myArray writeToFile:path atomically:NO]; 
} 
+0

該代碼沒有問題,它應該工作。你怎麼知道它沒有被保存? writeToFile返回NO嗎?你能發佈顯示你如何調用這個函數的代碼嗎? – zpasternack 2011-02-24 17:24:43

+0

陣列中有什麼物體?如果它們不是「屬性列表對象」(即NSString,NSData,NSArray和NSDictionary),則不能使用該方法保存該文件。 – 2011-02-24 21:56:02

+0

@zpasternack:[self writePlist:@「my.plist」withArray:myArray]; – 2011-02-25 05:20:14

回答

0

這可能是myArray變量包含非序列化對象的值(可能是自定義對象或類似的東西)。

+0

myArray是NSMutableArray的類型。這是個問題嗎? – 2011-02-25 05:24:27

+0

數組中的對象。那裏有什麼類型的對象? – Eimantas 2011-02-25 05:30:58

+0

對象是NSString類型。 – 2011-02-26 05:20:11

0

您嘗試寫入的目錄是否存在?在嘗試將文件寫入文件之前,您可能需要驗證其是否存在(並在尚未存在的情況下進行創建)。

+0

嗨。我們已檢查並存在目錄。目錄在這裏不是問題。謝謝你的評論。 – 2011-02-25 05:24:01