ios - 如何在应用程序模型而不是 View Controller 中实现 NSManagedObjectContext?

标签 ios objective-c core-data nsmanagedobjectcontext

我想知道我是否可以通过在 Core Data 中存储 User 对象的方式制作我的应用程序结构,而无需从 View Controller 的角度了解 NSManagedObjectContext。

我想像他们在某些框架(例如 Parse)中那样做。您可以使用 [object save] 或 [object pin] 等简单方法在本地保存其对象。

我知道对于一些更复杂的对象,我肯定希望在 View Controller 中控制 NSManagedObjectContext。但是如果 ob 只是将 User 保存为 currentUser 并在以后检索,我真的想以某种方式将 NSManagedObjectContext 封装在对象本身中。

所以不用方法
[User createCurrentUserInContext:self.context]
[用户 currentUserInContext:self.context]

我只想打电话
[用户创建当前用户]
[用户当前用户]

你能给我一些建议吗?我期待从您那里听到尽可能多的解决方案。

谢谢你的帮助

最佳答案

如果您需要大型本地对象存储,则必须处理数据库 SQlite3,而 CoreData 是一个很好的包装器,它简化了 SQlite3 的操作。解析本地数据存储是 implemented with SQlite3 ,所以对象固定基本上是调用通过 NSManagedObjectContext 在 SQlite 数据库中保存数据。

如果您需要对 CoreData 进行更高级别的抽象,您可以使用 CoreData 的包装器,查看 here对于一些流行的图书馆。任何敏感数据(如用户凭据)都应存储在 keychain 中.

关于ios - 如何在应用程序模型而不是 View Controller 中实现 NSManagedObjectContext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35118185/

相关文章:

iphone - iOS 应用程序中的维基百科

ios - 在所有设备上水平拉伸(stretch)两个按钮 AutoLayout

ios - 解析 XML - 从 URL 加载图像

ios - UITableView 方法被 TableView 大小覆盖

ios - iPhone Objective C 蓝牙免提音频增加 8000 采样率

ios 在 Swift 中将 void* 传递给 UISaveVideoAtPathToSavedPhotosAlbum

iphone - 视频和耳机问题

ios - 如何获取核心数据中的特定记录

ios - SwiftUI Picker 选择绑定(bind)不更新

swift - "Swift Core Data"和 UISearchController