我使用 stackmob 作为后端和 coredata。
我有“用户”和“运动”对象(用户 <<-> 运动)。所有用户都必须根据需要拥有一个运动对象。如果某个用户已登录,其他用户将无法使用此运动对象,直到所有用户都已注销。例如,我想改变我的运动。当我改变它时,我会崩溃。因为,运动与用户有着相反的关系。似乎我不能在用户之间使用相同的对象。怎么可能?以及如何解决这种情况?
在这里崩溃(SMIncrementalStore.m):
- (id)newValueForRelationship:(NSRelationshipDescription *)relationship
forObjectWithID:(NSManagedObjectID *)objectID
withContext:(NSManagedObjectContext *)context
error:(NSError *__autoreleasing *)error
带有崩溃日志:
*
** 由于未捕获的异常“SMExceptionIncompatibleObject”而终止应用程序,原因:“未找到映射到 StackMob 上的主键的实体用户的属性。属性名称应与以下格式之一匹配:lowercasedEntityNameId 或 lowercasedEntityName_id。如果 User 的托管对象子类继承自 SMUserManagedObject,这意味着它旨在定义用户对象,则您可以返回上述格式或任何带有可选下划线的小写字符串与 StackMob 上的主键字段匹配。 *First throw call stack: (0x3916c2a3 0x3307e97f 0x3916c1c5 0x21c6e9 0x35a45bf3 0x341234b7 0x341279f7 0x35a359e7 0x35a45855 0x35a1d951 0x359edd4d 0x359ee3d5 0x3910e341 0x38e5a07b 0x38df2443 0x38e59f5d 0x35a31b57 0x10dfbd 0x1fdef9 0x3412411f 0x341234b7 0x341281bd 0x3913ff3b 0x390b2ebd 0x390b2d49 0x36c662eb 0x3b5382f9 0xd4ed5 0x32fc5b20)