IOS开发指南读书笔记3(视图的生命周期)

原创 2015年11月18日 11:34:33
IOS开发指南读书笔记3(视图的生命周期)
1、视图的生命周期
图片

ViewDidLoad方法只会调用一次,而viewWillAppear:、viewDidAppear:、viewWillDisAppear:、viewDidDisAppear:回调用多次。

低内存的情况下,IOS会调用didReceiveMemoryWarning:和viewDidUnload:,到ios6.0,已经不再用viewDidUnload:了。当发生内存警告的时候,应该释放一些成员变量和视图。

2、UI状态的保存和恢复
在IOS6.0中可以在三个地方进行UI状态的保存与恢复
AppDelegate
ViewController
自定义视图

在AppDelegate中
添加以下代码

//应用退出的时候调用,是否允许保存状态
-(BOOL)application:(UIApplication *)application shouldSaveApplicationState:(NSCoder *)coder
{
    return YES;
}

//应用启动的时候调用,是否恢复上次退出时保存的状态
-(BOOL)application:(UIApplication *)application shouldRestoreApplicationState:(NSCoder *)coder
{
    return YES;
}

//方法在保存的时候调用,保存UI状态或数据
-(void)application:(UIApplication *)application willEncodeRestorableStateWithCoder:(NSCoder *)coder
{
    //例如保存简单数据
    [coder encodeFloat:2.0 forKey:@"Version"];
}

//恢复时调用,恢复上次保存的数据
-(void)application:(UIApplication*)application didDecodeRestorableStateWithCoder:(NSCoder *)coder
{
    float laerVersion = [coder decodeFloatForKey:@"Version"];
}

要实现具体控件数据的恢复,以textField为例,假如用户为输入完数据,程序就退出,想恢复用户输入的数据需要在所在的ViewController假如以下代码

//保存时候调用
-(void)encodeRestorableStateWithCoder:(NSCoder *)coder
{
    [super encodeRestorableStateWithCoder:coder];
    [coder encodeObject:self.txtField.text forKey:@"txtFieldContent"];
}

//恢复时调用
-(void)decodeRestorableStateWithCoder:(NSCoder *)coder
{
    [super decodeRestorableStateWithCoder:coder];
    self.txtField.text = [coder decodeObjectForKey:@"txtFieldContent"];
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

IOS开发指南读书笔记2(应用程序的生命周期)

1、程序的五种状态 Not Running:未运行。 Inactive:前台非活动状态。处于前台,但是不能接受事件处理。 Active:前台活动状态。处于前台,能接受事件处理。 Backgro...

iOS开发笔记之六——视图的生命周期

ooooo

iOS开发笔记3——IOS开发内存警告Memory Warning和ViewController的生命周期的问题

IOS开发内存警告Memory Warning和ViewController的生命周期的问题   IPhone下每个app可用的内存是被限制的,如果一个app使用的内存超过20M,则系统会...

Android开发艺术探索读书笔记 第一章 Activity的生命周期和启动模式

1. Activity生命周期全面分析 生命周期 onCreate:表示Activity正在被创建 onRestart:表示Activity正在重新启动 onStart:表示Activity正在启动...

Android Activity生命周期(Android艺术开发探索读书笔记)

消息队列在Android中指的是MessageQueue,MessageQueue主要包含两个操作:插入和独处。读取操作本身会伴随着删除操作,插入和读取对应的方法分别为enqueueMessage和n...

Android开发艺术探索读书笔记(一):Activity生命周期

根据《Android开发艺术探索》第一章前半部分,记录了Activity典型情况下和异常情况下的生命周期。

《Android开发艺术探索》读书笔记-第一章 Activity的生命周期和启动模式

Android开发艺术探索-读书笔记第一章 Activity的生命周期和启动模式1.1.1典型情况下的生命周期分析1)Activity的生命周期: onCreate->onRestart->onSt...

Android开发艺术探索读书笔记(一):Android的生命周期与启动模式

当用户打开新的Activity或者回到桌面时,原来的Activity回调如下:onPuse-> onStop,但是如果原来的Acitivity采用了透明的主题,那么当前的Activity不会执行onS...

【读书笔记】【Android 开发艺术探索】第1章 Activity 的生命周期和启动模式

一、Activity 的生命周期分析             典型情况下的生命周期和异常情况下的生命周期。            1、典型情况下的生命周期  ...

《Android开发艺术探索》读书笔记 (1) 第1章 Activity的生命周期和启动模式

前言 activity作为一个新\老android开发人员是熟悉不过了,不过细节决定成败,笔者把自己在实际开发中的遇到的问题总结下.鉴于之前已经记录了一片activity的日志,这边就只简单做知识点的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)