0

iPhoneXMPPデモを試しましたが、友達がオンラインまたはオフラインのときにGUIが更新されないようです。オンラインの友達だけを表示するようにnsfetchresultcontrollerを変更しました。

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

xcodeのコンソールでは、友人からプレゼンスを受け取ったことが示されました。しかし、controllerDidChangeContent:がまったく呼び出されないことを確認しました。(実際、私はそれが時々呼ばれるのを見ましたが、ランダムにそしてめったにありません)。

さらに深くデバッグすると、XMPPRosterCoreDataStorage handlePresence:xmppStreamが呼び出され、次にmanagedObjectContextDidSave:notificationも呼び出されることがわかりました。したがって、すべてが正しいようです。しかし、resultfetchcontrollerは変更を認識しませんでした。

では、何が問題なのでしょうか。私が間違ったことはありますか?ありがとう。

4

1 に答える 1

0

I just tested your Predicate: It works just fine.

Did you initialize your NSFetchedResultsController correctly? You need to pass the NSManagedObjectContext of your XMPPRosterCoreDataStorage.

于 2013-02-22T08:20:31.257 に答える