这个iOS应用程序最有效的工作流程是什么?

时间:2013-03-08 15:00:12

标签: ios workflow logic

我有一个应用程序,需要Internet才能将Web服务同步到本地核心数据db。然后使用本地数据库提取来为tabView控件中的MapView和TableView填充不同的对象。我正在看这两个场景:

AppFlowLogic

“A”的主要优点是我不必使用数据库预加载应用程序,尽管它是一个小数据库(大约100条记录)。问题是它变得错综复杂。如果没有互联网连接,则在MapView中,用户会看到地图,但禁用了refreshButton。所以那不是问题。但是用户仍然可以进入tableview,他会看到一张空表。

“B”的主要优点是,使用预加载的数据库,应用程序将始终具有可用于绘图和列表的数据源。我真的不知道如何使用数据库预加载应用程序。

我有点想走第一条路线,“A”。我的主要问题是,从现在开始我在MapView上禁用了refreshButton,这样只有在从网络上获取数据后它才有效......在启动时,sortedArray为空。因此,如果用户转到TableVC,它将为空。就目前而言,用户必须先点击刷新按钮才能进入桌面视图。

解决这个问题的最有效方法是什么?

1 个答案:

答案 0 :(得分:2)

如果100条记录足够静态,您可以使用该应用程序发送一组默认记录,那将是最佳解决方案。无论是否有互联网,用户都会获得一个填充的桌面视图。

将您的记录作为plist发送到您应用的捆绑包中。首次启动时,打开plist并将每个条目作为新对象添加到核心数据中。这种“播种”很快就会发生。只需为plist创建一个集合(数组,字典),然后枚举,将其映射到managedObject的属性。

这些代码向您展示了如何在WWDC 2012视频iCloud和核心数据中执行此操作(只需忽略iCloud部分)。

然后,如果播种后有连接,您可以同步数据,这将更新/替换/等预先填充的数据。