我尝试了 iPhoneXMPP 演示,但是当我的朋友在线或离线时,GUI 似乎没有更新。我修改了 nsfetchresultcontroller 只显示在线朋友:
...
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"sectionNum == 0"]];
...
在 xcode 的控制台中,它显示它确实收到了我朋友的存在。但我看到 controllerDidChangeContent: 根本没有被调用。(实际上,我看到它有时被调用,但随机且很少)。
当我更深入地调试时,我看到 XMPPRosterCoreDataStorage handlePresence:xmppStream 被调用,然后 managedObjectContextDidSave:notification 也被调用。所以一切似乎都是正确的。但是 resultfetchcontroller 并没有看到变化。
那么问题是什么?是不是我做错了什么?谢谢。