XMPPFramework - 如何向 XMPPUserCoreDataStorageObject 添加自定义属性?
Posted
技术标签:
【中文标题】XMPPFramework - 如何向 XMPPUserCoreDataStorageObject 添加自定义属性?【英文标题】:XMPPFramework - How to add custom properties to XMPPUserCoreDataStorageObject? 【发布时间】:2014-11-18 15:37:38 【问题描述】:我已经使用 XMPPFramework 开发了一个聊天应用程序,但是我遇到了一个问题,现在我被卡住了。我使用 NSFetchedResultsController 来显示保存在我的聊天中的用户列表,但现在我必须显示额外的信息,例如性别和 placeId。 我尝试了以下方法:
在 XMPPUserCoreDataStorageObject.h 中添加属性,然后:
- (void)xmppRoster:(XMPPRoster *)sender didReceivePresenceSubscriptionRequest:(XMPPPresence *)presence
XMPPUserCoreDataStorageObject *user = [self.xmppRosterStorage userForJID:[presence from]
xmppStream:self.xmppStream
managedObjectContext:[self managedObjectContext_roster]];
user.venueId = [presence attributeStringValueForName:@"KEY_VENUEID"];
user.gender = [presence attributeStringValueForName:@"KEY_GENDER"];
NSError *error = nil;
[[self managedObjectContext_roster] save:&error];
但是当我尝试使用这些属性时,应用程序崩溃(无法识别的选择器)。是否可以向 XMPPUserCoreDataStorageObject 添加自定义属性?我究竟做错了什么?我在互联网上看到了很多教程,并遵循了 XMPPFramework 的演示代码,但没有找到任何关于它的内容。
提前致谢。
【问题讨论】:
【参考方案1】:XMPPUserCoreDataStorageObject.h 是从 CoreData 模型自动生成的文件。您应该向模型添加属性,然后重新生成标题。
【讨论】:
您能否简要介绍如何从 coredata 向自动生成的文件 (XMPPUserCoreDataStorageObject) 添加属性并重新生成标题。 @vitalyster以上是关于XMPPFramework - 如何向 XMPPUserCoreDataStorageObject 添加自定义属性?的主要内容,如果未能解决你的问题,请参考以下文章
XMPPFramework - 如何在“didReceiveIQ”中识别响应是不是是用户的联系人列表?
如何启用 XMPPFramework 在控制台上打印原始 XML