在我的应用程序中事情变得混乱,所以我想做一个清理。我想到的第一件事是取我的NSDictionary
这是我的应用程序模型并把它放到它自己的文件中。我觉得这会给我更多的灵活性。
我知道这是可能的,但是我该怎么做呢?我查找信息失败了。
你能把我链接到的任何指南或教程都会对我有帮助。
更新strong>
想象3个控制器:
CollectionViewController 1 -(显示服装项目。当一个叫做"细化"的按钮被按下时,下一个控制器被按下)
TableViewController 2 -(显示筛选选项的列表,例如按颜色,大小进行细化。下一个控制器将根据点击的行按钮被按下)
ViewController 3 -(显示打开过滤选项的开关。当一个页面的选择完成按钮被点击,我被带回到TableViewController 2)
现在客户需要知道TableViewController 2
中每个过滤器的选项选择了什么。假设他们选择性别为"男性"选择颜色为"蓝色","绿色"one_answers"黑色"。在特定行标题下面有一个标签,它将显示这些选择。
性别strong> - 男
<颜色/strong> - 蓝色,绿色,黑色
这样他们就知道他们选择了什么。我还需要传递开关的状态。这里的目标是让用户可以回到CollectionViewController 1
,回到TableViewController 2
,仍然可以看到选择了什么,回到ViewController 3
,看看打开了什么。
我需要一种合理的方法来跟踪我的数据。在h文件中逐个控制器地设置所有内容变得很混乱。我发现自己一遍又一遍地创建属性。
从我在网上看到的,我决定不走单身路线。
简短的回答:别那样做。
长答:iOS(或更普遍的面向对象)应用程序的模型至少应该在它自己的类中。因此,创建NSObject
的子类,并添加适合表示应用程序数据的属性。
如果你有一个以上的模型对象,你可以把它们放在一个数组或集合中。为了持久化数组(或集合),你可以使用Core Data, sqlite或NSCoding。
对于一个简单的TableView应用程序来说,最好的设计通常是一个NSMutableArray,它包含了单个表行的NSMutableDictionary条目。
但是对于任何更复杂的东西,我们必须看到数据的结构和应用程序的结构。我们还需要知道数据需要有多持久,知道它是否应该在数据库中表示,还是在运行时结构中表示。