1

私はObjectiveCの初心者ですが、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:]ランタイムがインスタンスメソッドを探しているようです。

私のクラスメソッドを見つけるためのアイデアはありますか?

4

1 に答える 1

5
于 2012-06-06T14:55:36.627 に答える