0

我尝试了 iPhoneXMPP 演示,但是当我的朋友在线或离线时,GUI 似乎没有更新。我修改了 nsfetchresultcontroller 只显示在线朋友:

...
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"sectionNum == 0"]];
...

在 xcode 的控制台中,它显示它确实收到了我朋友的存在。但我看到 controllerDidChangeContent: 根本没有被调用。(实际上,我看到它有时被调用,但随机且很少)。

当我更深入地调试时,我看到 XMPPRosterCoreDataStorage handlePresence:xmppStream 被调用,然后 managedObjectContextDidSave:notification 也被调用。所以一切似乎都是正确的。但是 resultfetchcontroller 并没有看到变化。

那么问题是什么?是不是我做错了什么?谢谢。

4

1 回答 1

0

我刚刚测试了你的谓词:它工作得很好。

您是否正确初始化了 NSFetchedResultsController?您需要传递 XMPPRosterCoreDataStorage 的 NSManagedObjectContext。

于 2013-02-22T08:20:31.257 回答