これは簡単な質問だと思いますが、 [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];
}
唯一のことは、「リークが発生する可能性があります」というメッセージが表示されることです-アプリは正常に動作します.