我有整数数据,存储在 NSUserDefaults 中,有我的代码:
- (IBAction)addButton:(id)sender {
NSInteger oldValue = [[NSUserDefaults standardUserDefaults] integerForKey:@"myValue"];
NSString *string1=[addTextField text];
int add = [string1 floatValue];
int new = globalCalories;
int old=oldValue;
if(recomended.text==[NSString stringWithFormat:@"%i", oldValue]){
**self.day = (int)roundf(old-add);
dayLeft.text=[NSString stringWithFormat:@"%d", oldValue-add];
}**
else
{
self.day=(int)roundf(new-add);
dayLeft.text=[NSString stringWithFormat:@"%d", day];
}
}
我复制了所有按钮操作代码,以防万一,但我确实用粗体代码字符串标记,这似乎不起作用。因此,它假设对存储的数据(oldValue)进行数学运算,但是当我启动程序时,它实际上并没有,但不是有效值程序“认为”oldValue 是 0(而不是有效值)。
因此,例如,当它包含数字 2000 时,我启动程序并在文本字段 500 中输入,它假设为 1500 (2000-500),但它显示 -500。