2014-04-15 106 views

回答

0

没有,因为

  • 不能在类别扩展现有的方法。您可以继承NSEntityDescription以扩展该方法,但这不是一个好主意,因为...
  • 这是错误的同步时间。此方法创建一个新实例,但不分配任何属性值。因此,除了“存在新对象”之外,您没有要同步的数据。即使您确定在单独的线程上进行网络调用,您也没有有用的信息可以发送。
  • 这不会帮助您将更改服务器同步到您的应用程序。
  • 在许多情况下,应用程序创建新对象,但不保存它们(例如,如果用户点击“取消”按钮)。如果你使用这种方法,你已经发送了一个新的对象到你不想要的服务器。

有许多框架和付费服务有助于以某种方式同步Core Data。哪个更好(如果有的话)实际上取决于你想要完成的任务 - 将数据同步到服务器上的用户帐户,或者在多个iOS设备之间同步数据,或者其他。

如果你编写自己的同步码(这将是很难得到正确)常用的方法是观察NSManagedObjectContextObjectsDidChangeNotificationNSManagedObjectContextDidSaveNotificationNSManagedObjectContextWillSaveNotification,或那些超过一个的组合。只要您有传出的更改发送到您的服务器,它们就会通知您。使用您的服务器提供的任何API从服务器导入更改。