Mam klasy, który wygląda tak:#typedef i KVC w ObjC
@interface Properties : NSObject {
@private
NSNumber* prop1;
NSNumberBool* prop2;
//etc
gdzie NSNumberBool jest typedef:
// in MyApp_Prefix.pch
typedef NSNumber NSNumberBool;
Mam wszystkie wymagane oświadczenia i @synthesize do @property tworzą właściwości prop1 i prop2.
Wszystko zostało skompilowane i działało dobrze, dopóki nie próbowałem uzyskać dostępu do prop2 przez [myProperties valueForKey: @ "prop2"]. Daje mi to błąd "klasa nie jest zgodna z kluczem wartości". Jednak wiele podobnych połączeń działa dobrze:
myProperties.prop2; //works
[myProperties prop2]; //works
[myProperties valueForKey:@"prop1"]; //works
[myProperties valueForKey:@"prop2"] // throws NSUnknownKeyException ??
Co tu się dzieje i jak mogę to naprawić?
Dzięki,
Naprawdę dziwne, osobiście wpadłem w to samo.Również jeśli zrobisz "[myProperties respondsToSelector: @selector (prop2)], to zwraca również TAK – jjramos