问题 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 (这是屏幕上的标签/输出)的指针(术语?),而不是在分配时作为永久副本。因此,当有人点击加号后数字发生变化时,随着输入的数字越来越多,第一个数字也会发生变化。
谢谢您的帮助!对此,我真的非常感激!