我想知道是否可以使我的应用程序结构以一种将User
对象存储在Core Data中的方式,而无需从视图控制器的角度对NSManagedObjectContext有所了解。
我想像他们在某些框架(例如Parse)中那样做。您可以使用[object save]或[object pin]等简单方法在本地保存其对象。
我知道,对于某些更复杂的对象,我肯定希望对视图控制器内部的NSManagedObjectContext进行控制。但是,如果ob仅将User
保存为currentUser并在以后检索,我真的想以某种方式将NSManagedObjectContext封装在对象本身内部。
所以代替一种方法[User createCurrentUserInContext:self.context]
或[User currentUserInContext:self.context]
我只想打电话[User createCurrentUser]
或[User currentUser]
你能给我一些建议吗?我期待听到您的更多解决方案。
谢谢您的帮助
最佳答案
如果需要在本地存储大量对象,则必须处理数据库SQlite3,而CoreData是一个很好的包装器,可简化SQlite3的操作。解析本地数据存储区为implemented with SQlite3,因此对象固定基本上是通过SQlite db中的NSManagedObjectContext调用以保存数据。
如果您需要对CoreData的更高级别的抽象,则可以对CoreData使用包装器,请检查here中一些流行的库。任何敏感数据(例如用户凭据)都应存储在keychain中。