0

クラスをインデックスで割り当てるには、クラスのリストを含む配列が必要です。NSStrings私が最初に作ったのは、便利なタイプのクラス名を持つ単純な配列です。次に、次のことを行いました。

id classAllocator = NSClassFromString([namesArray objectAtIndex:index]);
id classEntranse = [[classAllocator alloc] init];

しかし、このシステムはリファクタリングの場合に非常に便利です。私は次のことをしようとしました:

@class myClass;
@class enotherClass;
classesArray = [[NSArray alloc] initWithObjects: [myClass class], [enotherClass class], nil];
id classEntranse = [[[classesArray objectAtIndex:index] alloc] init];

しかし今、「レシーバー 'myClass' はフォワード クラスであり、@interface が存在しない可能性があります」という警告が表示されます。 私は自分のクラスを #import できません: それはサイクルのインポートによって行われます。

クラスや名前を NSArray に動的に保存するにはどうすればよいですか?

4

0 に答える 0