問題1:如何讓一個實例變量創建一個可更改的值的永久副本(在本例中爲self.display.text)而不是指針?如何讓一個實例變量複製一個值
問題2:我說的問題是否正確?
我開始使用Obj-c幾個星期了,我遇到了這個問題。我認爲問題的一部分是我不知道正確的術語(因此很難搜索解決方案)。所以這裏有雲:
This is a basic calculator program:
1)User inputs their first number
2)User presses an action (+, -, *, /)
2a) first inputted number is saved; display is reset
3)User inputs second number
4)User presses enter
4a) second inputed number is saved; action is performed on the first and second number
This declares my CalculatorViewController.h
@interface CalculatorViewController : UIViewController
@property double firstNumber, secondNumber, result;
@property int actionType;
@property (weak, nonatomic) IBOutlet UILabel *display;
@property BOOL userIsInTheMiddleOfEnteringANumber;
@end
Implementation here...
// method for when someone clicks an action item on the calculator (such as +, -, *, /)
- (IBAction)pressedAction:(UIButton *)sender {
self.firstNumber = [self.display.text doubleValue];
(action type is set here)
NSLog(@"Action Type: %i", self.actionType);
NSLog(@"FN: %f, SN: %f", self.firstNumber, self.secondNumber);
}
// method for when someone clicks enter (and therefore firstNumber and secondNumber are set
- (IBAction)pressedEnter {
self.secondNumber = [self.display.text doubleValue];
NSLog(@"f: %f, s: %f", self.firstNumber, self.secondNumber);
// should do the given action to the self.firstNumber, self.secondNumber here
}
這裏是我的問題:firstNumber被設定爲指針(術語?)到self.display.text(也就是屏幕上的標籤/輸出),而不是作爲一個永久的在作業時複製。因此,當某人點擊加號後數字發生變化時,由於輸入的號碼越來越多,第一個號碼正在改變。
感謝您的幫助!對此,我真的非常感激!
你是百分之百正確的......我有一大堆線條被註釋掉了,而且我在其中一行中意外地重新聲明瞭firstNumber。感謝你們對我的幫助;對此,我真的非常感激!! – user1390560