我是 Objective C 的新手,虽然我有一些 Java 反射的背景。
在这里,我有一个经典的类方法findAll,它从数据库中查找所有域对象。Univers类直接继承自DomainObject
@interface DomainObject : NSObject
- (NSString *) execute : (NSString*) method withJson:(NSString*)json;
+ (NSString*)findAll: (NSString*)json;
@end
@implementation DomainObject
- (NSString *) execute: (NSString*) method withJson:(NSString*)json{
method = [NSString stringWithFormat:@"%@%@", method, @":"];
//method is 'findAll:'
NSString* result = [ self performSelector:
NSSelectorFromString(method) withObject:json];// Error here
return result;
}
@end
当 findAll 不是类方法(即 -findAll 声明)时,代码正在工作,但现在我有错误: NSInvalidArgumentException -[Univers findAll:] 显然运行时正在寻找一个实例方法。
有什么想法可以找到我的课堂方法吗?