Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.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
在iPhone上从表视图中下载的内容将数组保存到PList_Iphone_Uitableview_Save_Plist_Nsmutabledictionary - Fatal编程技术网

在iPhone上从表视图中下载的内容将数组保存到PList

在iPhone上从表视图中下载的内容将数组保存到PList,iphone,uitableview,save,plist,nsmutabledictionary,Iphone,Uitableview,Save,Plist,Nsmutabledictionary,我从最近发布的一个论坛上复制了这些帖子,但没有得到回复 我的代码所有设置都有一个基础,它是一个带有导航控制器的向下钻取表,可以将数据从plist加载到一个nsmutabledictionary,其中包含一些空值。在命令下,应用程序下载信息,然后在NSMutableArray中设置为setValue。问题是这个NSMutableArray距离plist的根低3级。我正在寻找一种方法来替换plist中加载并保存在appdelegate中的数组。我该怎么做?非常感谢你的帮助 所以这可能没有多大意义。在

我从最近发布的一个论坛上复制了这些帖子,但没有得到回复

我的代码所有设置都有一个基础,它是一个带有导航控制器的向下钻取表,可以将数据从plist加载到一个nsmutabledictionary,其中包含一些空值。在命令下,应用程序下载信息,然后在NSMutableArray中设置为setValue。问题是这个NSMutableArray距离plist的根低3级。我正在寻找一种方法来替换plist中加载并保存在appdelegate中的数组。我该怎么做?非常感谢你的帮助

所以这可能没有多大意义。在AppDelegate中,它将plist文件加载到NSMutableDictionary中。plist是这样的:


>标题(字符串)
>行(数组)
>>第1项(词典)
>>>标题(字符串)
>>>ID(字符串)
>>>项目列表(数组)
>>>>第1项(词典)
>>>>>标题(字符串)
>>>>>ID(字符串)
>>>>>值(字符串)-----下载的空值
>>>>第2项(词典)
>>>>第3项(词典)
>>>>第4项(词典)
>>项目2(阵列)
>>项目3(阵列)
>>项目4(阵列)


行数组被发送到RootViewController。从TableView中选择其中一个项目,并在将表数据源设置为该选定项目的ItemList的情况下创建新实例时。当用户按下按钮时,它将下载值,并使用[setValue:forKey:@“Value”]在数组中设置值。这就是它丢失的地方。现在,我需要将此ItemList数组设置回主根字典,然后将该根字典发送回AppDelegate,以便在应用程序上调用WillTerminate[self.data writeToFile:],并且下载的信息无需下次下载。

我不完全确定是否理解您的问题所在。将新值填充到数组中后,只需在字典中使用setObject:forKey:替换旧数组

如果您在获取应用程序委派的引用时遇到问题,可以使用[[UIApplication sharedApplication]delegate]


如果问题是你的字典和数组嵌套,你需要改变一个以上的对象来设置这个值,考虑使用MutabelCopy来从PLIST上生成可变的数组和字典。或者,可以考虑使用mire复杂的数据表示,而不是读写plist格式

我想我可能不得不使用forKeyPath