无法将NSMutableArray写入NSFileManager iOS Sdk
我写下面的代码将nsmutablearray写入filemanager。无法将NSMutableArray写入NSFileManager iOS Sdk
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
// the path to write file
NSString *arrayFile = [documentsDirectory stringByAppendingPathComponent:arrayName];
[imagesarray writeToFile:arrayFile atomically:YES];
但在NSFilemanager没有创建文件ID,我没有得到什么可能是问题是。
任何人都可以告诉我原因。
有几件事情可能导致这段代码失败。要检查的内容有: 1)确保arrayFile的值在应用程序沙箱的绝对路径中是正确的文件名。它不能在应用程序包中或沙箱外部。 2)确保imagesArray中的所有元素都可以通过这种方法写入。此方法只会编写NSString,NSNumber,NSDate,NSData,NSArray和NSDictionary对象。如果对象是NSDictionary或NSArray,那么每个元素或子元素也必须是这四种类型之一。
数组的名称意味着您正在编写一组图像。这是行不通的,因为UIImage不是这些神圣的6种类型之一。您可以使用像一个片段一个UIImage转换为JPEG或PNG表示如下:
UIImage *image = [UIImage imageNamed:@"myimage.png"];
NSData *data = UIImagePNGRepresentation(image, 1.0);
谢谢你的回复Jack Cox,但在我的对象中,我还必须添加int类型,并且必须将其保存在文件管理器中...比解决方案 – user1300511 2012-04-24 12:32:13
我刚编辑我的回复。 NSArray文档省略了允许NSNumber和NSDate的两种类型。如果你使用[NSNumber numberWithInt:
创建一个词典,有键“id&values”。将你的int id映射到键“id”并将数组映射到键“values”,然后将该词典写入文件。 – iDroid 2012-04-24 12:43:22
是什么arrayFile,你是如何创造的? – rishi 2012-04-24 11:30:57
没有更多的代码,错误信息,不,我们不能告诉你是什么原因。 – rckoenes 2012-04-24 11:30:58
@RIP在那个数组中,我添加了包含UIImage和Int的对象,并从filemanager中检索数组内容时我没有收到任何错误,它只返回0个对象 – user1300511 2012-04-24 11:39:56