(xcode) 计数器应用程序。需要保存一个整数值。

Posted

技术标签:

【中文标题】(xcode) 计数器应用程序。需要保存一个整数值。【英文标题】:(xcode) Counter app. Need to save a value of an integer. 【发布时间】:2014-07-25 15:03:01 【问题描述】:

我正在创建一个计数器应用程序,我想在每次触摸按钮时保存 TotalCount 的值,并且我想在应用程序打开时自动加载它。你能告诉我我可以添加什么来保存我的 TotalCount 值吗?

GoStats 操作是我触摸以查看我的统计信息的按钮,这是一个包含 TotalCount 的页面。当我触摸按钮时,NumberCount(计数器的数量)会回到 0,以便我可以从头开始计数。

人们告诉我我必须使用 NSUserDefaults 但我不知道如何使用,也许如果你有其他想法告诉我。我的应用确实需要它,所以您的帮助对我来说非常重要。

这是我的 ViewController.h :

int NumberCount;
int TotalCount;

@interface ViewController : UIViewController
@property (strong, nonatomic) IBOutlet UILabel *points;
- (IBAction)GoStats:(id)sender;
@property (strong, nonatomic) IBOutlet UILabel *Counter;
- (IBAction)Up:(id)sender;
- (IBAction)Reset:(id)sender;



@end

这是我的 ViewController.m :

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController


-(IBAction)Up:(id)sender


NumberCount = NumberCount +1;
TotalCount = TotalCount +1;
_Counter.text = [NSString stringWithFormat:@"%i", NumberCount];




- (void)viewDidLoad

[super viewDidLoad];
points.text = [NSString stringWithFormat:@"%i", TotalCount];




- (void)didReceiveMemoryWarning

[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.




- (IBAction)GoStats:(id)sender 
    NumberCount = 0;





- (IBAction)Reset:(id)sender 
TotalCount = 0;
_points.text = [NSString stringWithFormat:@"%i", TotalCount];



@end

感谢您的建议。

【问题讨论】:

您是否阅读过NSUserDefaults 的文档或者您是否搜索过如何使用它?做一些研究并尝试一些东西。如果您遇到困难,请发布您尝试过的内容。 【参考方案1】:
//Save integer into UserDefaults
[[NSUserDefaults standardUserDefaults] setInteger:intToBeSaved forKey:@"SavedInt"];

//Load integer from UserDefaults
loadedInt = [[NSUserDefaults standardUserDefaults] boolForKey:@"SavedInt"]

这很简单,正如其他人所说,您应该在发布问题之前尝试使用谷歌搜索

【讨论】:

【参考方案2】:

你是正确的,你应该使用NSUserDefaults。这里是Apple's documentation

这是一个存储和检索整数的示例:

static NSString * const kUserDefaultsCount = @"Count";
- (void)storeCountInDefaults:(NSInteger)number

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setInteger:number forKey:kUserDefaultsCount];
    [defaults synchronize];

- (NSInteger)getCountFromDefaults

    return [[NSUserDefaults standardUserDefaults] integerForKey:kUserDefaultsCount];

【讨论】:

【参考方案3】:
//Add task to NSUserDefault array and store it. Do this when your total count is updated
[[NSUserDefaults standardUserDefaults] setInteger:totalCount forKey:@"keyInt"]];
[[NSUserDefaults standardUserDefaults] synchronize]];

//Before displaying your the total count value, get the new value from NSUserDefaults
TotalCount = [[NSUserDefaults standardUserDefaults] integerForKey:WEATHER_KEY]];

我建议阅读文档:https://developer.apple.com/library/mac/documentation/cocoa/reference/foundation/classes/nsuserdefaults_class/reference/reference.html

【讨论】:

以上是关于(xcode) 计数器应用程序。需要保存一个整数值。的主要内容,如果未能解决你的问题,请参考以下文章

通过带有加法和减法计数器的视图控制器传递整数值[重复]

查找文件中出现的每个整数值的绝对计数

通过DataFrame查询计数查询时如何获取整数值?

漫画:什么是桶排序?

使用计数值对数组进行排序

FMDB 数据库和 xcode 插入数据库