对于n00b:将数字数据发送到另一个数据,然后将摘要数据保存在不同的View NSUserDefault中

时间:2012-02-29 14:00:05

标签: ios nsuserdefaults

我是开发iOS应用程序的真正n00b。这是我生命中的第一个应用,我真的需要一些帮助。

我的应用程序概念正在运行锻炼。

  • 当用户点击“开始运行”按钮时,应用会跟踪一段距离,通知用户他们在另一个视图中运行了多远。

  • 接下来,当用户单击“完成锻炼”按钮时,距离将被添加(填充)到“总距离”变量,该变量需要在完成每次运行时始终保存。

  • 此外,应用程序在索引视图中启动时,必须加载“总距离”。

正如我所说,我是初学者,所以有人可以告诉我该怎么做?我应该把代码放在哪里以及如何?我也会感谢示例代码。我需要知道如何加上保存数据的新(新)数据以及如何保存和显示它。

真的很抱歉我的英语。

感谢您的预先支持。

==== EDITED ================== 这是我计算距离函数的代码。

-(void)computeDistanceFrom:(CLLocation *)oldL tO:(CLLocation *)newL {

NSLog(@"oldd %@",oldL);
NSLog(@"new %@",newL);

CLLocationDistance currentDistance = [oldL distanceFromLocation:newL];
NSLog(@"you have travel=%f",currentDistance);   
distance = distance + currentDistance;

double distanceInKm = distance/1000;

distanceLabelValue = [[NSString stringWithFormat:@"%1.2f",distanceInKm]retain];
distanceLabel.text = distanceLabelValue;


}   

现在我可以获得每次用户锻炼的距离。但我知道如何以及在何处创建“总距离”变量。然后将锻炼距离加上“总距离”。最后保存“总距离”并在索引视图中显示它。

请帮忙......

1 个答案:

答案 0 :(得分:0)

使用NSUserDefaults保存数据。

用于保存数据,例如“1.25”:

   NSDecimalNumber *myNumber = [NSDecimalNumber decimalNumberWithDecimal:
                         [[NSNumber numberWithFloat:1.25f] decimalValue];

    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
    [prefs setObject:myNumber forKey:@"myTotal"];
    [prefs synchronize];

检索您的数据:

NSDecimalNumber *myAcc = (NSDecimalNumber *)[prefs objectForKey:@"myTotal"];