Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 方法访问另一个方法';s局部变量_Iphone_Objective C_Xcode_Ipad_Encapsulation - Fatal编程技术网

Iphone 方法访问另一个方法';s局部变量

Iphone 方法访问另一个方法';s局部变量,iphone,objective-c,xcode,ipad,encapsulation,Iphone,Objective C,Xcode,Ipad,Encapsulation,这里只是一个简单的新手问题。我有一个方法,它计算一个值并将结果存储在一个双变量中,这个变量也是该方法的局部变量。我还有另一个方法,它进行单独的计算,但该方法需要第一个变量中的结果。如何从第一个方法中获取值,同时保持该变量对类的其余部分隐藏?下面是一个我想要得到的例子 -(IBAction)methodA{ double answer; answer = 2 + 3; } -(IBAction)methodB{ double answerTimeTwo; answerTimeTwo = answ

这里只是一个简单的新手问题。我有一个方法,它计算一个值并将结果存储在一个双变量中,这个变量也是该方法的局部变量。我还有另一个方法,它进行单独的计算,但该方法需要第一个变量中的结果。如何从第一个方法中获取值,同时保持该变量对类的其余部分隐藏?下面是一个我想要得到的例子

-(IBAction)methodA{
double answer;
answer = 2 + 3;
}

-(IBAction)methodB{
double answerTimeTwo;
answerTimeTwo = answer * 2;   //Problem arises here as I cannot access "answer"
}

除非它们是UIControl事件的结果,否则不应将其装饰为动作

这样做:

- (double)methodA {
    double answer = 2.0 + 3.0;  // don't really need the stack variable, but it's okay
    return answer;
}

- (double)methodB {
    double answerTimesTwo = [self methodA] * 2.0;
    return answerTimesTwo;
}

我认为你应该在开始应用程序开发之前阅读Oops概念和C语言。我熟悉OOP概念,只是不熟悉objective-C语法objective-C语法没有什么新的。正如您所知,您无法访问声明方法范围之外的本地对象。不管怎样,你得到了答案