Objective c 从数组中获取字符串以调用方法

Objective c 从数组中获取字符串以调用方法,objective-c,c,Objective C,C,我试图从数组中获取调用中的字符串。但是没有运气。它正在被传给另一个班级 MainClass.h #import First @class First; @interface MainClass : UIViewController{ NSMutableArray *listArray; } /////////////////// MainClass.m First *first = [[First alloc] init]; listArray = [[NSMutableA

我试图从数组中获取调用中的字符串。但是没有运气。它正在被传给另一个班级

MainClass.h
#import First
@class First;

@interface MainClass : UIViewController{
NSMutableArray *listArray;
}
///////////////////
MainClass.m

    First *first = [[First alloc] init];

    listArray = [[NSMutableArray alloc]init];
        [listArray addObject:@"first"];
        [listArray addObject:@"second"];

    int Aslot = 0;
    int sumA;
float level = 5, insample = 10;

    NSString *slotA =[listArray objectAtIndex:ASlot];

           sumA = [slotA out:insample andlevels:level];

/////////
First.h
-(float)out:(float)insample andlevels:(float)level;

First.m
-(float)out:(float)insample andlevels:(float)level{

float outsample = insample + 10 * level;

return outsample;
}
我希望slotA(类)等于数组“first”或“second”中的一个字符串,以便它可以调用该方法

我有一个表,当我第一次选择时,它会将样本和其他参数发送到另一个类,并在其中进行处理,然后返回到MainClass

sumA=[先出:样本和级别:级别]

但是我得到一个错误,NSString可能不会响应我的参数out:andlevels。请帮助编辑:

如果我理解正确,您希望动态创建一个类的实例,该类的名称已存储为
NSString
。您可以这样做:

int Aslot = 0;
int sumA;
float level = 5, insample = 10;

NSString *className = [listArray objectAtIndex:Aslot];
Class sampler = objc_getClass([className UTF8String]);
id instance = [[sampler alloc] init];
sumA = [instance out:insample andlevels:level];

// Do whatever you want with sumA here.

[instance release];

如果您经常这样做,您可能希望保留实例,或者将类存储在数组中,而不是它们的名称,具体取决于您正在执行的操作。

那么,如何将类名从数组中获取到方法中呢?您到底想做什么还不清楚。
out:andlevels:
做什么?它是如何定义的?样本中的
是什么?什么是
level
?几乎@Jim,“Aslot”是objectindex,它在用户进行选择时将类从数组中拉出,并将其发送到调用,而不是整个类数组。我尝试添加一个协议,但仍然得到错误objc_getClass(Const char*name),因此UTF8String不起作用。“得到错误”和“不起作用”是没有帮助的反馈。你得到了什么错误?感谢吉姆的帮助。我添加了@协议类@结束,然后@接口主类:UIViewController,错误:使用未声明的标识符“UTF8Stand”,错误:“接收者类型”类*不是“ID”或接口指针,考虑将其转换为“ID”,错误:实例方法“OLLC”未找到。(返回类型默认为'id')……我忽略了Madhu post,他使用的是if语句,它通过将self更改为类来工作。但是,当添加更多类时,需要进行更多的编码。