1

我构建了 5 个 UITableViews:Continent、Country、Subcountry、RegionSubregion

每个人的数据都UITableView存储在数据库中。

在每次导航中,我都会检索基本数据并将 ( prepareToSegue)UITableView与我在每个类中定义的一组标记变量一起传递给下一个。都是相似的。

Continent(country.ContinentID=self.continentID) 
       --> Country (region.CountryID=self.countryID)

我有一种感觉,我做错了,以某种丑陋的方式。你能建议我如何更聪明地完成这项任务,让我们假设,以专业的方式吗?我想在每个班级中摆脱这一束 int vars。

PS请不要建议使用全局变量。我在这里读到了它们,全局变量被定义为比goto声明更邪恶。

4

2 回答 2

1

一种可能的解决方案是通过一个单独的类创建所有控制器,该类将跟踪基本数据并在创建期间根据需要将它们传递给控制器​​。我在 GitHub 上的示例 Xcode 项目中对此进行了说明。远离单例,它们只不过是被美化的全局变量,并且有很多反对它们的好论据(其中一些在这篇博文中进行了解释)。

于 2012-09-04T18:41:45.810 回答
0

我会推荐 Singleton 设计模式来满足您的需求 - 创建一个“DataManager”来保存和维护所有数据对象,以便您可以从控制器的任何位置访问它们很方便,如果您正确实现它,它可以确保持久性和良好的表现。

于 2012-09-04T18:42:45.550 回答