У меня возникла проблема с ответомToSelector с NSMutableSet.NSMutableSet отвечаетToSelector addObject: возвращает false
У меня есть программа, как это:
NSArray *arguments = [[NSProcessInfo processInfo] arguments];
theClass = [arguments objectAtIndex: 1];
theMethod = [arguments objectAtIndex: 2];
theArgument = [arguments objectAtIndex: 3];
id object = [[NSClassFromString(theClass) init] autorelease];
if([object respondsToSelector:NSSelectorFromString(theMethod)]) {
NSLog(@"Result: %@",
[object performSelector:NSSelectorFromString(theMethod) withObject: theArgument]);
} else {
NSLog(@"Class %@ doesn't respond to %@.",
theClass, theMethod);
}
я называю его с помощью ./program NSMutableSet AddObject: ул, но программа всегда говорит, что NSMutableSet не реагирует на AddObject :.
Я не знаю, почему responseSToSelector всегда говорит, что NSMutableSet не отвечает на addObject. То же самое с ./program NSMutableSet allObjects.
'[NSClassFromString (theClass) init]' должно быть '[[NSClassFromString (theClass) alloc] init]' ... –
спасибо, вы правы. Теперь это работает. –
вы ** знаете **, почему это необходимо (например, это была опечатка), или вы считали, что '[NSClassFromString (theClass) init]' отлично? –