一、生命周期

1、ViewDidLoad: 一般的初始化,除了几何图形的初始化(这个时候还没确定)

2、ViewWillAppear: 代表你的视图将要在屏幕上显示,可能会调用多次,对不可见时可能能改变的内容进行同步 (例如模型改变的时候调用显示改变的数据)

3、ViewWillDisappear 不在屏幕不再占用资源时,记住、恢复、停止

4、didRecevierMemoryWarning 手机运行占用很大空间,例如图像、视频:释放内存,处理内存警告(系统决定)

具体的生命周期是这样的:

(1 从storyboard中进行实例化,或者通过调用all从或者init,

(2 如果是从storyboard中出来的,就会调用awakeFromNib,不然就是调用initWithNibName bundle

(3 viewDidLoad

(4 当几何内容被确定之后,viewWillLayoutSubview和viewDidlayoutSubviews被调用

(5.1 viewWillappear和viewDidappear会被调用

(5.2 viewWillDisappear和viewDidDisappear会被调用 (如果几何内容有变化,viewWillLayoutSubview和viewDidlayoutSubviews会再次被调用)

(6 didRecevierMemoryWarning

二、NSNotifications 广播站机制(通知)

结束收听之后,要移除自己【不安全指针】,可以在dealloc移除

例子:

 //
// ViewController.m
// testForNotification
//
// Created by bos on 15-4-14.
// Copyright (c) 2015年 axiba. All rights reserved.
// #import "ViewController.h" @interface ViewController ()
@property (weak, nonatomic) IBOutlet UITextView *content;
@property (weak, nonatomic) IBOutlet UILabel *headLine; @end @implementation ViewController - (IBAction)changeTextColorByClickButton:(UIButton*)sender { //control the range of our select
[self.content.textStorage addAttribute:NSForegroundColorAttributeName
value:sender.backgroundColor
range:self.content.selectedRange]; } - (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib. } #pragma the view appear
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(setUserPreferFont)
name:UIContentSizeCategoryDidChangeNotification
object:nil]; } #pragma the view disappear then remove it
-(void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(setUserPreferFont)
name:UIContentSizeCategoryDidChangeNotification
object:nil];
}
-(void)setUserPreferFont
{
self.headLine.font = [UIFont preferredFontForTextStyle:UIFontTextStyleHeadline];
self.content.font = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];
} - (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
} @end

OC开发_Storyboard——视图控制生命周期以及NSNotifications的更多相关文章

  1. (5/18)重学Standford_iOS7开发_视图控制器生命周期_课程笔记

    第五课: 1.UITextView @property (nonatomic, readonly) NSTextStorage *textStorage;//注意为只读属性,因此不能直接更改内容,NS ...

  2. ios开发----视图的生命周期

    熟悉web开发的朋友可能对页面page的生命周期有一定的了解和认识,正如web开发中的页面生命周期一样,移动客户端开发也有它自己的生命周期.下文将说明ios开发中视图的生命周期既运行顺序. 在ios视 ...

  3. 玩转iOS开发 - 视图控制器生命周期

    视图控制器生命周期

  4. iOS10 UI教程视图的生命周期

    iOS10 UI教程视图的生命周期 说到视图的生命周期一般都是指视图控制器的视图生命周期.在视图的声明周期中最主要的有8个方法,分别为loadView().viewDidLoad().viewWill ...

  5. atitit.提升开发效率---使用服务器控件生命周期 asp.net 11个阶段 java jsf 的6个阶段比较

    atitit.提升开发效率---使用服务器控件生命周期  asp.net 11个阶段  java jsf 的6个阶段比较 如下列举了服务器控件生命周期所要经历的11个阶段. (1)初始化-- --在此 ...

  6. iOS开发UI篇—UITabBarController生命周期(使用storyoard搭建)

    iOS开发UI篇—UITabBarController生命周期(使用storyoard搭建)   一.UITabBarController在storyoard中得搭建 1.新建一个项目,把storyb ...

  7. Android开发工程师文集-Activity生命周期,启动方式,Intent相关介绍,Activity详细讲解

    前言 大家好,给大家带来Android开发工程师文集-Activity生命周期,启动方式,Intent相关介绍,Activity详细讲解的概述,希望你们喜欢 Activity是什么 作为一个Activ ...

  8. Java开发学习(十一)----基于注解开发bean作用范围与生命周期管理

    一.注解开发bean作用范围与生命周期管理 前面使用注解已经完成了bean的管理,接下来将通过配置实现的内容都换成对应的注解实现,包含两部分内容:bean作用范围和bean生命周期. 1.1 环境准备 ...

  9. 【Xamarin 开发 IOS --IOS ViewController生命周期】

    ViewController ViewController是IOS开发中MVC模式中的C,ViewController是view的controller,ViewController的职责主要包括管理内 ...

随机推荐

  1. Translating between qplot and base graphics

    Translating between qplot and base graphics Description There are two types of graphics functions in ...

  2. CSS编写指导规范和建议

    在参与规模庞大.历时漫长且参与人数众多的项目时,所有开发者遵守如下规则极为重要: 保持 CSS 易于维护 保持代码清晰易懂 保持 CSS 的可拓展性 为了实现这一目标,我们要采用诸多方法. 本文档第一 ...

  3. C语言 常用的宏定义

    __FILE__ :宏在预编译时会替换成当前的源文件名 __LINE__:宏在预编译时会替换成当前的行号 __FUNCTION__:宏在预编译时会替换成当前的函数名称 //宏__VA_ARGS__的用 ...

  4. Geometric deep learning on graphs and manifolds using mixture model CNNs

    Monti, Federico, et al. "Geometric deep learning on graphs and manifolds using mixture model CN ...

  5. 【转】【Android】Android不同版本下Notification创建方法

    使用 new Notification(int icon, CharSequence tickerText, long when)构造函数时,Eclipse却提示:" The constru ...

  6. ConfigParser.NoSectionError: No section: 'MongoDB'

    场景:手动执行bat文件正常,schtasks定时执行bat文件时报错. 原因:定时执行时,ini配置文件找不到.Windows 下用 schtasks 定时执行脚本的默认起始路径为:C:\Windo ...

  7. BMP是在Bean中完成对数据库JDBC的各种调用

    BMP是在Bean中完成对数据库JDBC的各种调用 CMP是由EJB容器自动完成对数据库的操作 会话Bean主要处理业务逻辑

  8. (转)RGB接口和i80接口的区别

     在嵌入式的主流 LCD屏中主要支持两大类的硬件接口,一种是常见的RGB接口,另外一种是MCU接口.后面因为最早是针对单片机的领域在使用,因此得名.后在中低端手机大量使用,其主要特点是价格便宜的. M ...

  9. R语言低级绘图函数-abline

    abline 函数的作用是在一张图表上添加直线, 可以是一条斜线,通过x或y轴的交点和斜率来确定位置:也可以是一条水平或者垂直的线,只需要指定与x轴或y轴交点的位置就可以了 常见用法: 1)添加直线 ...

  10. Ubuntu 14.04 安装R 环境

    Introduction R is a popular open source programming language that specializes in statistical computi ...