2011-02-24 47 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