Связь параметра CoreData дает ошибку '- : непризнанный селектор, отправленный в экземпляр

WeatherObservation – это объект в моей модели данных, я пытаюсь установить его отношение к другому объекту (один к одному), через который я прошел через навигационный контроллер. Он работал несколько недель назад. Я изменил некоторые из других объектов в моей модели, восстановил классы, и это отношение было установлено на NSManagedObject , а не на класс для другого объекта. Я попытался повторно создать этот класс несколько раз, а затем просто изменил его на то, что он должен быть, и добавил класс к .h, #import к .m

Я предполагаю, что сообщение [MANAGEDOBJECT count] является частью основной магии данных, я не называю его нигде в моем коде. Я не знаю, с чего начать, что делать, что я могу опубликовать здесь, чтобы помочь получить ответ? Я пробовал:

 weather.hiveObservation = hiveObs; 

так же как

 [weather setValue:hiveObs forKey:@"hiveObservation"] 

оба бросают ту же ошибку, если я прокомментирую настройку отношения, сохраненного объектом в постоянном хранилище. hiveObs создается в старом виде, но еще не сохранен … если это имеет значение?

EDIT: После мысли и добавленной информации.
ManagedObject, который я передаю, был создан, но не был сохранен перед изменением представлений. Он регистрируется с нулевыми значениями в новом представлении, но может ли это быть проблемой?

Основные файлы данных
HiveObservation.h

 import <Foundation/Foundation.h> #import <CoreData/CoreData.h> @class BoxObservation, HiveDetails, WeatherObservation; @interface HiveObservation : NSManagedObject ... //other properties omitted @property (nonatomic, retain) HiveDetails *hiveDetail; @property (nonatomic, retain) WeatherObservation *weatherObservation; @end @interface HiveObservation (CoreDataGeneratedAccessors) - (void)addBoxObservationsObject:(BoxObservation *)value; - (void)removeBoxObservationsObject:(BoxObservation *)value; - (void)addBoxObservations:(NSSet *)values; - (void)removeBoxObservations:(NSSet *)values; @end 

WeatherObservation.h

 #import <Foundation/Foundation.h> #import <CoreData/CoreData.h> @class HiveObservation; @interface WeatherObservation : NSManagedObject //... other properties omitted @property (nonatomic, retain) NSNumber * windSpeed; @property (nonatomic, retain) HiveObservation *hiveObservation; @end 

Консольный выход:

 2015-01-21 14:28:32.739 Hive Maps[5085:69277] -[WeatherObservation count]: unrecognized selector sent to instance 0x78ea3140 2015-01-21 14:28:32.743 Hive Maps[5085:69277] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[WeatherObservation count]: unrecognized selector sent to instance 0x78ea3140' *** First throw call stack: ( 0 CoreFoundation 0x0157b946 __exceptionPreprocess + 182 1 libobjc.A.dylib 0x01204a97 objc_exception_throw + 44 2 CoreFoundation 0x015835c5 -[NSObject(NSObject) doesNotRecognizeSelector:] + 277 3 CoreFoundation 0x014cc3e7 ___forwarding___ + 1047 4 CoreFoundation 0x014cbfae _CF_forwarding_prep_0 + 14 5 CoreData 0x00b2a8cc -[NSSQLCore _knownOrderKeyForObject:from:inverseToMany:] + 204 6 CoreData 0x00b2ae53 -[NSSQLCore _populateRow:fromObject:timestamp:inserted:] + 1043 7 CoreData 0x00a52e73 -[NSSQLCore prepareForSave:] + 1091 8 CoreData 0x00a52174 -[NSSQLCore saveChanges:] + 340 9 CoreData 0x00a1bfee -[NSSQLCore executeRequest:withContext:error:] + 638 10 CoreData 0x00b15af4 __65-[NSPersistentStoreCoordinator executeRequest:withContext:error:]_block_invoke + 5380 11 CoreData 0x00b1ee9c gutsOfBlockToNSPersistentStoreCoordinatorPerform + 188 12 libdispatch.dylib 0x02d00e2f _dispatch_client_callout + 14 13 libdispatch.dylib 0x02ce5505 _dispatch_barrier_sync_f_invoke + 144 14 libdispatch.dylib 0x02ce4c37 dispatch_barrier_sync_f + 105 15 CoreData 0x00b0f7e7 _perform + 183 16 CoreData 0x00a1bb1b -[NSPersistentStoreCoordinator executeRequest:withContext:error:] + 459 17 CoreData 0x00a4b1d9 -[NSManagedObjectContext save:] + 1529 18 Hive Maps 0x00018a6d -[GetWeatherTableViewController saveWeatherData:] + 3133 19 libobjc.A.dylib 0x0121a7cd -[NSObject performSelector:withObject:withObject:] + 84 20 UIKit 0x0193023d -[UIApplication sendAction:to:from:forEvent:] + 99 21 UIKit 0x01ca0840 -[UIBarButtonItem(UIInternal) _sendAction:withEvent:] + 139 22 libobjc.A.dylib 0x0121a7cd -[NSObject performSelector:withObject:withObject:] + 84 23 UIKit 0x0193023d -[UIApplication sendAction:to:from:forEvent:] + 99 24 UIKit 0x019301cf -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 64 25 UIKit 0x01a63e86 -[UIControl sendAction:to:forEvent:] + 69 26 UIKit 0x01a642a3 -[UIControl _sendActionsForEvents:withEvent:] + 598 27 UIKit 0x01a6350d -[UIControl touchesEnded:withEvent:] + 660 28 UIKit 0x0198060a -[UIWindow _sendTouchesForEvent:] + 874 29 UIKit 0x019810e5 -[UIWindow sendEvent:] + 791 30 UIKit 0x01946549 -[UIApplication sendEvent:] + 242 31 UIKit 0x0195637e _UIApplicationHandleEventFromQueueEvent + 20690 32 UIKit 0x0192ab19 _UIApplicationHandleEventQueue + 2206 33 CoreFoundation 0x0149f1df __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15 34 CoreFoundation 0x01494ced __CFRunLoopDoSources0 + 253 35 CoreFoundation 0x01494248 __CFRunLoopRun + 952 36 CoreFoundation 0x01493bcb CFRunLoopRunSpecific + 443 37 CoreFoundation 0x014939fb CFRunLoopRunInMode + 123 38 GraphicsServices 0x04d0124f GSEventRunModal + 192 39 GraphicsServices 0x04d0108c GSEventRun + 104 40 UIKit 0x0192e8b6 UIApplicationMain + 1526 41 Hive Maps 0x0001967d main + 141 42 libdyld.dylib 0x02d2cac9 start + 1 ) libc++abi.dylib: terminating with uncaught exception of type NSException 

Я выполнил трассировку стека с введенной точкой исключения, исключение возникает, когда я сохраняю:

 weather.hiveObservation = hiveObs; NSError *error = nil; if (![_managedObjectContext save:&error]) { //Handle the error. NSLog(@"SAVE ERROR: %@",error); } 

Снимок экрана, можно разместить изображение напрямую

One Solution collect form web for “Связь параметра CoreData дает ошибку '- : непризнанный селектор, отправленный в экземпляр”

Имела та же проблема. Ошибка произошла даже после очистки и восстановления. Двойной проверял отношение, и это был действительно один к одному, и у меня все еще была такая же ошибка.

Решение: удалите отношение «hiveObservation» и его коллега в соответствующем Entity (если есть), и добавьте новые с теми же именами.

  • как вы выбираете запись с максимальным значением в coredata?
  • Невозможно создать контекст управляемого объекта в iOS
  • Основные данные: , будет ли этот метод отражать изменение объекта?
  • Как синхронизировать данные из веб-службы с основными данными?
  • необъяснимая поведенческая разница между objectWithID: по сравнению с existingObjectWithID:
  • . Нульмайен Нуль Нуль Нуль Нуль Нуль Нуж.
  • Основные данные возвращаются к предыдущему состоянию без видимых причин
  • Работает ли Realm с iCloud?
  • iOS: использование @min и @max в основном предикате данных
  • Основные данные - NSPredicate для фильтрации пустой строки, работающей некорректно
  • Как dyanmic создать новую сущность (таблицу) через модель CoreData?
  • Interesting Posts

    Ошибка ARC с классом FMDB после изменения настроек здания для компиляции SQLCipher

    Можете ли вы получить фотографии в «Недавно удаленные» с помощью PhotoKit?

    Обнаружение контактов в адресной книге, использующей приложение – Swift

    userInteractionEnabled отключает все элементы в ячейке

    расширение UIAlertController удобство инициализации предупреждение

    Запуск утечек в приложении iOS вызывает ошибку «Невозможно выделить mmap»

    UISlider, который привязывается к фиксированному числу шагов (например, Размер текста в приложении настроек iOS 7)

    Safari: нет Проверяемые приложения

    NSSortDescriptor NSFetchRequest не работает после сохранения контекста

    Ошибка проверки типа объекта с ошибкой «не является типом»

    iOS – Файл «XXX-XXX …» не может быть открыт, потому что такого файла нет

    Приложение продолжает запрашивать пароль для использования брелка «Local Items»

    NSPredicate в NSFetchedResultsController не использует геттер категории

    UIScrollView «pull up to load more» и «pull up to back back» вызывает мерцание (с образцами кода)

    Включить кольцо / тихий переключатель с помощью AVAudioSessionCategoryPlayAndRecord

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.