Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Objective-C中保存图像列表_Objective C_Ios_File_Save - Fatal编程技术网

如何在Objective-C中保存图像列表

如何在Objective-C中保存图像列表,objective-c,ios,file,save,Objective C,Ios,File,Save,在我的代码中,我有一个项目,它是我希望保存的交替字符串和图像的列表。我知道如何以JPEG格式保存单个图像,但在Objective-C中有没有一种简单有效的方法可以保存所有这些项目(或者至少是图像,因为我自己可以处理字符串),同时保持它们的顺序 例:第1项(“你好”,图像,“如何”,图像,“是”,图像),第2项(“这个”,图像,“是”,图像) 维护项目顺序对我来说并不重要,但列表中的顺序非常重要。首先想到的是简单地保存每个图像,并有一个创建算法,然后记住它们的图像名称,然后保存并加载文本列表。有没

在我的代码中,我有一个项目,它是我希望保存的交替字符串和图像的列表。我知道如何以JPEG格式保存单个图像,但在Objective-C中有没有一种简单有效的方法可以保存所有这些项目(或者至少是图像,因为我自己可以处理字符串),同时保持它们的顺序

例:第1项(“你好”,图像,“如何”,图像,“是”,图像),第2项(“这个”,图像,“是”,图像)


维护项目顺序对我来说并不重要,但列表中的顺序非常重要。首先想到的是简单地保存每个图像,并有一个创建算法,然后记住它们的图像名称,然后保存并加载文本列表。有没有更简单的方法?我真的可以将数组本身保存为plist并继续我的快乐之路吗?(我只见过带字符串的示例)

我相信我理解您的意图。您希望保存一个项目数组,每个项目都包含一个包含图像和字符串的对象数组。如果这是正确的,那么将数组保存到plist的想法是正确的

简而言之,您将创建对象的NSDictionary并保存它们的数组。像这样:

在对象中,您将有一个类似于以下内容的方法:

- (NSDictionary *)dictionaryOfItemData;
{
    NSMutableDictionary * mutableDictionary = [[NSMutableDictionary alloc] init];


    [mutableDictionary setObject:imageName 
                          forKey:@"imageName"];

    [mutableDictionary setObject:UIImagePNGRepresentation([self image]) 
                          forKey:@"imageData"];


    return mutableDictionary;
}
然后,您可以将这些数组(或数组数组,或根据文件大小、需要加载的内容等所需的任何内容)保存在适当的位置,如下所示:

[[arrayOfDictionaries description] writeToFile:path
                                    atomically:YES 
                                      encoding:NSUTF8StringEncoding 
                                         error:NULL];
这将为您提供plist,您可以通过使用数据创建图像并从字典中设置图像名称来加载和添加plist


~Good Luck

在什么意义上你想“保存”图像?将其写入文件系统?