1

前回の同期で更新されなかった NSManagedObjects をすべて削除するメソッドを作成しています。

- (void)removeStaleObjects {

        // Delete objects that have not been updated in this sync.
    NSPredicate *stalePredicate = [NSPredicate predicateWithFormat:@"updated < %@", self.syncStart];
    NSArray *staleObjects = [Node MR_findAllWithPredicate:stalePredicate];

    for (Node *n in staleObjects) {
        [[NSManagedObjectContext MR_defaultContext] deleteObject:n];
    }

}

コードは MR_findAll... 行で失敗し続けます

[__NSDate objCType]: unrecognized selector sent to instance

Apple のドキュメントで構文を確認しましたが、述語を正しく作成していることを 99% 確信しています。

_startDate = [NSDate date];

同期の前に実行されます。それから私の同期の後、私は電話します

[self removeStaleObjects];

私がどこを台無しにしているのか誰か知っていますか?

更新:更新時間を倍精度で保存することで動作させることができました。ただし、NSDates で動作させることにまだ興味があるので、誰かが何かを理解したら、ここに投稿してください。

4

2 に答える 2