此例使用的是NSUserDefaults来保存账号密码等轻量级数据.
首先在storyboard中添加相应的控件,如图:,连接输出口.
在viewDidLoad中,取出上一次存入的数据,如果没有存入,Label不赋值.当用户点击home键时,发送通知,并保存textfield中的数据.
-(void)save
{
NSUserDefaults *def =[NSUserDefaults standardUserDefaults];
[def setObject:self.userText.text forKey:@"name"];
[def setObject:self.passText.text forKey:@"pass"];
//命令直接同步到文件里,来避免数据的丢失<span style="font-size:10px;">(<span style="font-family:Consolas, 'Courier New', Courier, mono, serif;margin:0px;padding:0px;border:none"><span style="font-family:Arial;color:#333333;">NSUserDefaults是定时把缓存中的数据写入磁盘的,
而不是即时写入,为了防止在写完NSUserDefaults后程序退出导致的数据丢失,
可以在写入数据后使用synchronize强制立即将数据写入磁盘</span></span>)</span>
[def synchronize];
}
- (void)viewDidLoad
{
[super viewDidLoad];
NSUserDefaults *def =[NSUserDefaults standardUserDefaults];
if ([def objectForKey:@"name"]) {
_userLabel.text=[def objectForKey:@"name"];
_passLabel.text=[def objectForKey:@"pass"];
}
//输出保存路径
NSLog(@"%@",[NSBundle mainBundle]);
//注册点击Home键后的通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(save) name:UIApplicationDidEnterBackgroundNotification object:nil];
// Do any additional setup after loading the view, typically from a nib.
}