0

背景:我已经创建了一个 iPad 数据库(使用核心数据),现在我正在努力让这个数据库能够上传/下载到 DropBox。我遵循了 DropBox 网站上列出的所有步骤,我可以成功上传到 DropBox 并从 DropBox 下载。

问题:从 DropBox(称为“dataBase.sqlite”)下载文件后,我的应用程序不会更新以显示下载文件中的数据。但是,如果我通过双击 HOME 按钮关闭应用程序,然后重新启动应用程序,则所有数据现在都可以正确显示。

我想在下载完成后在我的 iPad 上更新/显示数据,而无需关闭并重新启动应用程序。任何建议将不胜感激。

试过:[managedObjectContext reset];

并尝试:

managedObjectContext=nil;
managedObjectModel=nil;
persistentStoreCoordinator=nil;

我正在使用以下内容:XCode 4.4.1 Mountain Lion 10.8 DropBox SDK

4

3 回答 3

1

最后通过执行以下操作来完成此工作:

  1. 从协调器和文件管理器中删除了 persistentStore(在文件下载之前)
  2. 下载了新文件
  3. 重新创建的 persistentStore
  4. 提取结果

谢谢

于 2012-08-14T16:47:22.940 回答
0

你可能已经尝试过这个,但是一旦你检测到一个新版本的数据库文件已经被下载,并且在你将它处理成你的核心数据结构之后,你还记得[tableView reloadData]吗?

于 2012-08-13T22:57:50.243 回答
0

你的问题让我很困惑。

您似乎是从包括数据绑定在内的 WPF 思维方式进行推理。重置您的数据源(它不是像 nsmanagedobject 这样的核心日期对象),而是在 table.datasource 中设置的对象

您似乎假设该表直接从 managedObjectContext 获取他的数据。要么这是我不知道的 iO 中的一个功能,要么你正在削减一个主要的角落。

您负责实现一个符合 UITableviewDatasource 的对象,该对象知道从哪里获取数据(您的 managedObjectContext 最有可能)并使 UITableView 可以使用它。

从 Dropbox 下载后,您至少需要向您的 UITableview 发送重新加载

[table reloadData];

您很可能还需要让您的数据源对象知道它需要“重新获取”数据。(可选地,这是一个实时连接,每次访问都会更新)。

于 2012-08-13T23:03:12.227 回答