0

我在使用 NSMutableSet 的 respondsToSelector 时遇到问题。

我有一个这样的程序:

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: str调用它,但程序总是说 NSMutableSet 不响应 addObject:。

不知道为什么responsToSelector 总是说NSMutableSet 不响应addObject。./program NSMutableSet allObjects 也是如此

4

1 回答 1

2

你正在检查一些完全不同的东西......

[NSClassFromString(theClass) init]

需要是

[[NSClassFromString(theClass) alloc] init]

反而。

于 2013-06-02T20:55:32.187 回答