(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) 计数器应用程序。需要保存一个整数值。的主要内容,如果未能解决你的问题,请参考以下文章