我正在尝试为我的网站构建一个应用程序。我的印象是,我所要做的就是从服务器获取 json 并将其放入我的手机。但是今天我遇到了 Core Data(我是 iOS 新手)。
所以我的问题是,为了制作一个更快的 iOS 应用程序,获取 json 数据并将其保存为核心数据是一种正常的做法吗?Facebook、Twitter 等应用程序会采用这种方法吗?或者只是获取和解析json是正常的做法,不需要核心数据。
如果问题很愚蠢,我很抱歉。
我正在尝试为我的网站构建一个应用程序。我的印象是,我所要做的就是从服务器获取 json 并将其放入我的手机。但是今天我遇到了 Core Data(我是 iOS 新手)。
所以我的问题是,为了制作一个更快的 iOS 应用程序,获取 json 数据并将其保存为核心数据是一种正常的做法吗?Facebook、Twitter 等应用程序会采用这种方法吗?或者只是获取和解析json是正常的做法,不需要核心数据。
如果问题很愚蠢,我很抱歉。
如果内存占用合理,从服务器(XML 或 JSON)检索数据并将其保存在内存中是正常的。如果您正在谈论来自数据库的数十万行,那么具有专用数据模型的持久存储可能是最佳选择;您可以在需要时阅读它。
如果您需要复杂的数据模型、一对多和/或多对多关系,那么请考虑 Core Data(或直接使用 SQLite)。
您首先定义您的需求,然后尝试定义适合您需求的数据模型(自定义对象或可能只是一些实例NSDictionary
),然后决定该数据需要如何持久化以及您计划如何与该数据交互。
几个起点:
祝你好运。
我记得不久前遇到过这个异常。
正如一些评论中已经指出的那样,这取决于您的需求。
从 Web 端检索数据后,并非所有数据都有资格保存在核心数据中。您可能对此有完整性问题。对大块数据进行检查可能会产生严重的开销。但是,如果您觉得某些数据不太可能经常更改,那么您可以在某些部分使用这种技术。
如果您决定坚持使用 Request/Fetch 数据,请确保使用NSOperation、GCD或NSThread处理请求,以避免 UI 冻结。
尽管它们用于相同的目的,但它们都有优点和缺点,请查看NSOperation vs Grand Central Dispatch 上的这个主题
我希望这有帮助。