我想使用RestKit中的getObjectFromPath
方法从我的服务器获取数据。我的测试服务器只有3条记录。致电getObjectFromPath
后,我将其分配到NSMutableArray
以显示在UITableView
上。
我按照RKMagicalRecord配置并在本地设置Core数据。
但是,每当我在模拟器中运行应用程序时,sqlite数据库中的记录数就会像这样增长
执行时间addSQLitePersistentStoreAtPath
:sqlite中的记录数
addSQLitePersistentStoreAtPath
:0 addSQLitePersistentStoreAtPath
:3 addSQLitePersistentStoreAtPath
:6 addSQLitePersistentStoreAtPath
:9 我从未使用魔法记录中的任何保存方法。当我在谷歌周围时,getObjectFromPath
方法将执行映射,然后调用success
回调块。在映射期间,它将自动保存核心数据。
但我不明白为什么在执行addSQLitePersistentStoreAtPath
之前它没有保存。如何在映射后禁用RestKit中的自动保存?
答案 0 :(得分:1)
您无法禁用自动保存。如果您不希望将对象保存到Core Data存储中,则使用纯NSObject
子类。
也就是说,你应该使用核心数据,而你所缺少的可能是在映射(identificationAttributes
)上设置唯一标识符键。如果您没有来自服务器的唯一标识符信息,那么您应该添加它。请参阅this example实体映射identificationAttributes
。
调用addSQLitePersistentStoreAtPath
会在第一次调用时创建存储,并在后续调用中加载它。所以,在你打电话之前没有商店,因此无法添加任何东西。