2012-04-04 17 views
0

Nur eine schnelle Frage von Neuem hier. Ich habe eine Methode, die einen Wert berechnet und speichert das Ergebnis in einer doppelten Variable, diese Variable ist auch eine lokale Variable für diese Methode. Ich habe auch eine zweite Methode, die eine separate Berechnung, aber diese Methode benötigt das Ergebnis in der ersten. Wie kann ich den Wert von der ersten Methode erhalten, während diese Variable weiterhin für den Rest der Klasse verborgen bleibt? Unten ist ein Beispiel dafür, was ich versuchen möchte.Methode, die auf die lokalen Variablen einer anderen Methode zugreift

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

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

Ich glaube, Sie Oops Konzept und Sprache C vor Beginn der App-Entwicklung lesen sollte. –

+0

Ich bin vertraut mit OOP-Konzepten, nur nicht vertraut mit der Objective-C-Syntax – SNV7

+0

Das ist nichts Neues in der Syntax von objective-c. Wie Sie wissen, können Sie nicht außerhalb des Bereichs der Deklarationsmethode auf ein lokales Objekt zugreifen. Wie auch immer du deine Antwort bekommen hast –

Antwort

1

Sie sollten nicht als Aktionen eingerichtet werden, es sei denn, sie sind das Ergebnis eines UIControl-Ereignisses.

Machen Sie es wie folgt aus:

- (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; 
} 
Verwandte Themen