我发现了一个与人际关系有关的关键问题。在保存了块“SMUserManagedObject”之后,我尝试为我的saveOnSuccess设置关系,并使用日志崩溃:
*终止应用程序的原因是:“没有为映射到StackMob上主键的实体用户找到任何属性。属性名应该匹配以下格式之一: lowercasedEntityNameId或lowercasedEntityName_id。如果用户的托管对象子类从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“架构配置”中的"Group“方案以进行修复。因此,我不能创建一个预置关系的用户对象。
发布于 2013-07-24 10:55:46
我找到了一个解决方案:在我的AppDelegate行"SM_CACHE_ENABLED = YES“中使崩溃.
发布于 2013-07-12 16:11:59
你可以做两件事中的一件。
将用户类更改为从SMUserManagedObject继承。请参阅Stackmob核心数据指南中的Stackmob核心数据指南部分。
或者在User类中,定义返回主键字段名称的选择器:
- (NSString *)primaryKeyField
{
return @"username";
}https://stackoverflow.com/questions/17594149
复制相似问题