【问题标题】:XMPPRoster example for iphone?iPhone 的 XMPPRoster 示例?
【发布时间】:2011-12-19 21:04:41
【问题描述】:

我查看了示例代码,但如果没有更深入的文档,我仍然无法弄清楚框架的一些关键功能。通常有关于框架的书籍,但似乎有了这个框架,你只能靠自己,直到它获得更多的主流用法。

我如何获得花名册?我看到 XMPPRosterCoreDataStorage 有一个 NSMutableSet 的 rosterPopulationSet。这是组成名册的 XMPPUserCoreDataStorageObjects 集,即用户吗?

我猜我的方式是一种 hack——在宣布时获取每个用户的存在,并将其存储在一个数组中。就是网上的小伙伴。不知何故获得了整个花名册,所有不在线的人都处于离线状态。

我认为应该有一个 XMPPUserCoreDataStorageObjects 数组,即 XMPPUserCoreDataStorageObjects 表中的 30 个联系人、30 个条目? 我将如何访问该数组以及如何判断它们是否在线? 对于在线状态,我是否应该查询其他内容,b/c 它没有封装在 XMPPUserCoreDataStorageObjects 中是吗? 我想我可以使用 didReceivePresence 或类似的方法,但总而言之,我想使用框架而不是与之对抗。

欣赏!

谢谢

【问题讨论】:

  • 您对如何检索用户名册有基本的了解吗?如何存储该名册、数组、字典等?您对 CoreData 以及如何存储值有基本的了解吗?
  • 我了解 CoreData 的基础知识。我不知道名册在框架中的位置或如何检索它。是 XMPPRoster、XMPPRosterCoreDataStorageObject 还是 XMPPUserCoreDataStorageObject。

标签: iphone ios xmpp xmppframework


【解决方案1】:

XMPPRoster 扩展与 XMPPRosterCoreDataStorageXMPPRosterMemoryStorage

一起使用

看看下面的代码。请注意,这不是完整的代码,但应该给您一个想法。

XMPPRosterMemoryStorage *rosterstorage = [[XMPPRosterMemoryStorage alloc] init];
xmppRoster = [[XMPPRoster alloc] initWithRosterStorage:rosterstorage];
[xmppRoster 激活:xmppStream];
[xmppRoster fetchRoster];

【讨论】:

  • 谢谢。出于某种原因,我更好地理解了内存名册存储。我可以看到,在调用 [xmppRoster fetchRoster] 之后,名册存储在 NSMutableDictionary 中。但是,使用CoreData,对应的结构应该是:NSMutableSet *rosterPopulationSet inside XMPPRosterCoreDataStorage。
  • 我没有使用过 XMPPRosterCoreDataStorage,但据我了解,它将处理将数据存储到数据库,您必须使用 fetchedResultsController 来访问它。
  • @Nilesh 你能帮我在调用 [xmpproster fetchRoaster] 之后,它调用了哪些委托方法来显示名册的详细信息
猜你喜欢
  • 1970-01-01
  • 2013-09-24
  • 1970-01-01
  • 1970-01-01
  • 2021-06-19
  • 1970-01-01
  • 2011-01-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多