我的应用程序中有一个侧边栏菜单(如facebook的一个),目前我已经硬编码了侧边栏的类别。我的问题如下:存储该菜单数据的最佳位置是什么?
像我实际做的那样硬编码?
SQLite数据库?
plist文件?
我问的是因为我想记住我在哪个菜单中,并且我想知道数据库是不是更好的方法呢?
提前完成
答案 0 :(得分:0)
如果你只是指菜单本身的类别,那么硬编码就好了,具体取决于它们改变的可能性。但如果它像facebook一样并且它们没有改变,那就没关系。
就点击菜单项时显示的内容而言,这是不同的。在那里,我建议使用SQLite数据库,或者更好地使用CoreData为您管理它。
如果您有一个视图控制器管理该菜单的状态,您可以保留您选择的菜单项,保留要显示的项目列表等,这很好,不需要真正的数据库。我建议的是灵活性,以便您可以轻松添加新项目。
例如我工作的一个应用程序,我创建了一个NSDictionary
个对象数组,每个对象都有一个标题,图像和选择器。在渲染列表时,我只需循环遍历列表,创建一个带有标题和图标的新项目,当用户点击时调用选择器。这样,如果我们需要新的菜单项,我可以向数组中添加一个新项目,就是这样。
我在控制器初始化程序中对此数组进行了硬编码,但如果您想将其序列化为plist文件,那么您可以这样做,但这只是一个偏好的事情
答案 1 :(得分:0)
使用Plist
或hard coded dictionary
与sqlite
或coreData
中的保存无关。将此保存在数据库中以便每次都获取时效果不高需要做数据库操作。
这些数据不会占用太多内存,所以你可以像你一样进行硬编码并保存在内存中。我认为你的控制器也是每次都在侧面菜单上保留在内存中或每次按下按钮它都会加载如果每次都没有加载,则菜单类别会保留在内存中。