Селектор Obj-C не распознан в собственности? - PullRequest
0 голосов
/ 26 декабря 2009

Я получаю ошибку NSObject doesNotRecognizeSelector при попытке установить свойство, и я не уверен, почему.

Ошибка возникает в первой строке setWithNSColor. Я немного сбит с толку, как правильно синтезированное свойство может быть не распознано.

@interface ScopeColor : NSObject {
NSString *colorIntegerString;
float redColor;
float greenColor;
float blueColor;
NSString *name;
}

@property (readwrite, assign) NSString *colorIntegerString;
@property (readwrite, assign) float redColor;
@property (readwrite, assign) float greenColor;
@property (readwrite, assign) float blueColor;
@property (readwrite, assign) NSString *name;

-(void)setWithNSColor:(NSColor *)inColor
{
    self.redColor=[inColor redComponent];
    self.greenColor=[inColor greenComponent];
    self.blueColor=[inColor blueComponent];
}

Ответы [ 2 ]

3 голосов
/ 26 декабря 2009

Вы уверены, что ваш класс, а не NSColor, вызывает исключение? Если объект NSColor не принадлежит NSCalibratedRGBColorSpace или NSDeviceRGBColorSpace, запрашивающему redComponent и т. Д., Возникнет исключение.

0 голосов
/ 26 декабря 2009

Вы синтезируете redColor, greenColor и blueColor где-нибудь за пределами включенного кода? Кроме того, примитивным значениям (таким как числа с плавающей точкой) не требуется ключевое слово assign.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...