У меня есть приложение iOS с библиотекой RestKit и CoreData. Поскольку Xcode8, я вижу больше журналов, чем раньше, и один из них не имеет для меня никакого смысла.NSManageObjectContext - класс не соответствует ключевому значению для кода @count
error: An observer of NSManagedObjectContextDidSaveNotification illegally threw an exception. Objects saved = {
inserted = "{(\n)}";
managedObjectContext = "<_PFWeakReference: 0x600000621560>";
updated = "{(\n ...)}";
}
and exception = [<_PFWeakReference 0x600000621560> valueForUndefinedKey:]: this class is not key value coding-compliant for the key @count. with userInfo = {
NSTargetObjectUserInfoKey = "<_PFWeakReference: 0x600000621560>";
NSUnknownUserInfoKey = "@count";
До сих пор, что я могу понять, что слабая ссылка на managedObjectContext (выше ошибки) использует неправильный ключ, но я не могу понял, как его отладить.
Все объекты NSManagedObjects, связанные с этой проблемой, по-видимому, являются коллекциями. В основном NSSet из отношений OneToMany или ManyToMany.
Тогда я нашел это Apple documentation:
Все операторы сбора, за исключением @count, требуют ключа путь справа от оператора коллекции.
Однако я не вижу никакого запроса предиката или CoreData, который я сделал, чтобы использовать этот ключ в данный момент.
Я восстановил все мои модели NSManagedObject и дважды проверил все обратные отношения между ними, но это не помогло мне избавиться от него.
Это приложение работает нормально, но я не смог найти решение для удаления этого предупреждения.
Я думаю, что вы не делаете ключ, но это RKManagedObjectStore.m строка 55. – JulianM
Вы когда-нибудь находили способ избавиться от этого предупреждения? –