我在senerio之下 类aviewcontroller调用函数
[ -(void)methodA:(NSString*)parameter1 withParam:(NSString*)param2]
的NSObject类型类functionClass,其中我编写了我的代码,从aviewcontroller我传递参数。
我想要的是什么:if my param2 == hello1
然后在functionClass中生成一个随机数,然后它将调用相同的
[ -(void)methodA:(NSString*)parameter1 withParam:(NSString*)param2]
再次发挥作用
//我的主要类aviewcontroller
-(void)viewdidload
{
functionClass *obj = [[functionClass alloc] init];
[obj methodA:@"hello" withParam:@"Hello1"];
}
//我的班级名称:NSObject类型的functionClass
//Method A
-(void)methodA:(NSString*)parameter1 withParam:(NSString*)param2
{
//Label A
NSLog(@"value of parameter1 =%@", parameter1);
NSLog(@"value of param2 =%@", param2);
/
if([param2 isEqualtostring:@"hello1"])
{
NSString *newparamgenerate=[self generateRandomNumber];
//here need to go to label A with replace parameter value of param2 with newparamgenerate and then execute the code in same flow;
}
}
//method 2
-(NSString*) generateRandomNumber
{
NSString*random=@"TESTRANDOM";
return random;
}
答案 0 :(得分:1)
为了在生成数字后再次重复代码,您只需要使用new参数重新调用该方法。你有一个if语句,它将控制流并防止无限循环,所以在这种情况下调用一个方法本身就没有害处,只要方法random
不能返回它'hello1'它不能。工作代码如下所示:
//Method A
-(void)methodA:(NSString*)parameter1 withParam:(NSString*)param2
{
//Label A
NSLog(@"value of parameter1 =%@", parameter1);
NSLog(@"value of param2 =%@", param2);
/
if([param2 isEqualtostring:@"hello1"])
{
NSString *newparamgenerate=[self generateRandomNumber];
[self methodA: @"hello" withParam: newparamgenerate];
return
//here need to go to label A with replace parameter value of param2 with newparamgenerate and then execute the code in same flow;
}
}
//method 2
-(NSString*) generateRandomNumber
{
NSString*random=@"TESTRANDOM";
return random;
}
您的代码格式在某些地方有点可疑,因此我建议您研究并采用Objective-C格式化最佳实践。