我尝试了iPhoneXMPP演示,但是当我的朋友在线或离线时,似乎没有更新GUI。我修改了nsfetchresultcontroller以仅显示在线朋友:
...
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"sectionNum == 0"]];
...
在xcode的控制台中,它显示它确实收到了我朋友的存在。但是我看到了controllerDidChangeContent:根本没有被调用。 (实际上,我有时会看到它,但随机而且很少)。
当我更深入地调试时,我看到XMPPRosterCoreDataStorage handlePresence:xmppStream被调用,然后managedObjectContextDidSave:也调用了通知。所以一切似乎都是对但是resultfetchcontroller没有看到更改。
那么问题是什么?有什么我做错了吗? 感谢。
答案 0 :(得分:0)
我刚测试了你的谓词:它运作得很好。
您是否正确初始化了NSFetchedResultsController?您需要传递XMPPRosterCoreDataStorage的NSManagedObjectContext。