我正在开发一个使用核心数据的应用程序,我知道这不是线程安全的,但很难理解如何正确管理它。让我解释一下我到目前为止...
我创建了一个单例来启动托管对象,然后可用于所有其他类,这似乎工作正常,因为所有类都接收到相同的托管对象地址。
然后我有两个按此顺序执行的类...
- 数据加载。这将获取记录计数,如果为零则加载核心数据库。
- 然后显示在步骤 1 中存储的数据的表格视图。
我的问题是第 1 步。总是返回零记录,第 2 步。正在工作并返回正确的记录数。
已经对 1. 的问题进行了一些测试。由于它正在运行的线程,如果我在创建托管对象的同一个线程上发送请求,它就可以完美地工作。
那么为什么它在第 1 类中。我必须确保请求在正确的线程上,但在第 2 类中。它只是工作,或者只是纯粹的运气。是否有推荐和记录的线程和核心数据方法?
谢谢