我确定这是一个简单的问题,但我怎样才能用 [self MyFunction] 调用函数;哪里 'MyFunction' 是一个 NSString?我想使用各种变量调用函数,这些变量在加入时会形成函数名称(即 FunctionName1、FunctionName2 等)
例如(简化):
NSString *MyStringValue=@"FunctionName";
int MyNumber = 1;
NSString *MyFunction=[myStringValue stringByAppendingFormat:@"%d ",myNumber];
所以我希望使用以下方法调用函数“FunctionName1”:
[self MyFunction];
但这不起作用。任何人都可以帮忙吗?
编辑:这是现在可以使用的完整代码:
-(void)getnewblock {
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
NSNumber *actionblockload = nil;
actionblockload = [standardUserDefaults objectForKey:@"actionblock"];
int actionblock = [actionblockload intValue];
NSString *block=@"setblock";
NSString *blockanimate=@"blockanimate";
NSString *blocktochange=[block stringByAppendingFormat:@"%d",actionblock];
NSString *blocktoanimate=[blockanimate stringByAppendingFormat:@"%d",actionblock];
SEL sel1 = NSSelectorFromString(blocktochange);
SEL sel2 = NSSelectorFromString(blocktoanimate);
[self performSelector:sel1];
[self performSelector:sel2];
[self setblockimages];
}
唯一的事情是我收到“可能导致泄漏”的消息——尽管应用程序运行良好。