是否有可能将UIButton存储在plist文件中?

问题描述:

我需要从plist文件中读取一些首选项作为菜单项,并在表格视图中显示它们。是否有可能存储一些预定义的UIButton与IBAction里面的plist文件?我需要在主屏幕中显示带有菜单选项的桌面视图。大多数这些项目只是其他UIViewControllers的链接,但有几个单元格包含用于打开另一个屏幕的UIButtons。是否有可能将UIButton存储在plist文件中?

+0

重复后,请参阅:http://*.com/questions/7192691/do-i-have-to-create-some-dummy-hardcoded-array-with-data-for-viewing-prefs-in-标签 – ader

+0

你为什么想要做plist? –

+0

plist是xml - 为什么不用xml格式存储数据,如果没有太多的话,它不会改变,这很容易吗? – ader

最任何类型的数据可以在plist中表示,这将是不可能的,这将是可能的。我已将整个应用程序存储为列表中的所有对象列表(navcontrollers,viewcontrollers,不同类型的视图等)。然后根据plist数据在运行时创建所有对象(不使用nibs)。

+0

我有整个对象存储在plist数据。*字典是一个包含指定所有属性和对象类型的字符串的容器。您的代码首先查看对象类型并创建正确类型的对象。 – ader

+0

好,但如何存储一个对象?是否有可能使用xcode输入它,或者我是否需要执行该程序? – Centurion

+0

查看序列化或在字典中创建自己的plist和存储对象表示形式(可以更快地执行):http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Archiving/Articles/serializations.html% 23 // apple_ref/doc/uid/20000947-BCIEBEGI“NSSerializer类将属性列表表示存储在NSData对象中,该对象可以写入文件或传输到另一个进程或机器” – ader

我不认为,因为只有预定义的数据类型中的plist所以plist中

+0

编辑我的项目把它放在 – ader

+0

你好ade,你只能设置控件的属性值而不是控件....我的意思是你可以保存UIButton的名称,高度,宽度等属性,但你不能存储整个UIButton ..如果你说这是可能的..我想再次通过这个...... – DShah

在程序中硬编码IBActions。无论您的偏好设置在哪里,每个选项都是与特定IBAction直接相关的Boolean数据类型。

然后,当你为填充表视图菜单项,有它的plist转换为NSDictionary像这样的东西:

NSMutableDictionary *menuPrefs = [[NSMutableDictionary alloc] initWithContentsOfFile: path]; 
bool value;v 
value = [[savedStock objectForKey:@"value"] boolValue]; 

[menuPrefs release]; 

然后简单地检查布尔值,如果它们是真实的添加他们,如果他们不忽略他们。田田。问题解决了。