我有以下内容,其中path是文档文件夹。 myArray是一个NSMutableDictionary。我在模拟器中运行它。
BOOL success = [self.myArray writeToFile:path atomically:YES];
以上总是返回否。我可以在目标文件夹中看到没有写入任何内容。
路径如下:
/Users/username/Library/Application Support/iPhone Simulator/7.1/Applications/79D8982F-9995-4831-83B9-E2749F2261CD/Documents/
任何想法我做错了什么?
答案 0 :(得分:4)
我希望字典中的一个或多个对象无法写入:
<强>讨论强>
此方法以递归方式验证所有包含的内容 对象是属性列表对象(NSData的实例,NSDate, NSNumber,NSString,NSArray或NSDictionary)在写出之前 文件,如果所有对象都不是属性列表对象,则返回NO , 因为结果文件不是有效的属性列表。
属性列表对象的位置(参见here):
NSArray,NSDictionary,NSString,NSData,NSDate和NSNumber。
答案 1 :(得分:2)
路径指向Documents目录,但不指向该目录中的任何特定文件。您无法将文件写入目录,您必须为其指定文件名。另一个明显的可能性是self.myArray == nil。再加上Droppy说的绝对正确。
答案 2 :(得分:0)
/Users/username/Library/Application Support/iPhone Simulator/7.1/Applications/79D8982F-9995-4831-83B9-E2749F2261CD/Documents/
该路径仅代表文档目录的导航,但未指向某种文件。
使用以下行添加一些文件名,并将字典添加到路径
NSArray *sandboxArray=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path= [[arr objectAtIndex:0]stringByAppendingPathComponent:@"login.plist"];
写一些类似于path