我发现了一个与关系有关的严重错误。保存在“saveOnSuccess”块中后,我尝试为我的 SMUserManagedObject 设置关系,并出现日志崩溃:
*由于未捕获的异常“SMExceptionIncompatibleObject”而终止应用程序,原因:“未找到映射到 StackMob 上的主键的实体用户的属性。属性名称应与以下格式之一匹配:lowercasedEntityNameId 或 lowercasedEntityName_id。如果 User 的托管对象子类继承自 SMUserManagedObject,这意味着它旨在定义用户对象,则您可以返回上述格式或任何带有可选下划线的小写字符串与 StackMob 上的主键字段匹配。它看起来像:
NSManagedObjectContext *context = [[[SMClient defaultClient] coreDataStore] contextForCurrentThread];
User *user = [[User alloc] initNewUserInContext:context];
[user setUsername:@"username1"];
[context saveOnSuccess:^{
user.group = group; //an already created object <--- Have a crash
} onFailure:^{
}];
在此之后,我的“组”架构被破坏了。任何尝试都是失败的。如果我尝试在任何其他地方设置,例如:
user.group = group; //Before using saveOnSuccess trick this line work perfectly!
我有一个崩溃。然后我需要在stackmob“架构配置”中删除“组”方案进行修复。因此,我无法创建具有预设关系的用户对象。