получить «нераспознанный селектор» при попытке использовать управляемый объект Core Data сгенерированный класс XCode в модульном тесте? - PullRequest
1 голос
/ 26 апреля 2011

Почему я получаю "нераспознанный селектор" при попытке использовать класс, сгенерированный XCode управляемого объекта Core Data, в модульном тесте?

То есть, в тестовом примере мне нужно указать путь к экземпляру ядрауправляемый объект данных (я использую управляемые объекты Xcode 4).Чтобы облегчить поддержание лёгкости теста, я мог бы сам создать объект (не используя базовую структуру данных).Тем не менее, казалось, что все в порядке, когда я пытаюсь использовать свойства, я получаю «нераспознанный селектор».

Вопрос, который я предполагаю:

  1. Почему я получаю этот «нераспознанный селектор»?
  2. Как мне изменить то, что я делаю, чтобы создать облегченную версию моего управляемого объекта основных данных, который будет использоваться в качестве входных данных для тестируемого метода в модульном тесте?

Пример кодаот управляемого объекта.Например, использование свойства title может вызвать проблему:

@interface WEView : NSManagedObject {
  @private
}
  @property (nonatomic, retain) NSString * title;
@end


#import "WEView.h"
@implementation WEView
   @dynamic title;
@end

1 Ответ

3 голосов
/ 26 апреля 2011

Команда препроцессора @dynamic сообщает компилятору, что методы будут предоставлены во время выполнения. Это контекст управляемого объекта, который предоставляет методы на основе информации, взятой из модели управляемого объекта. Без контекста класс не имеет фактического метода и не может ответить на селектор.

...