一、生命周期

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. 也谈谈js的压缩,jquery压缩。【转】

    问题缘由: 负责公司的开发平台研发工作,考虑的知识产权的保护工作,必须要考虑java的加密技术和js脚本的加密技术.在目前java加密很容易破解的情况下,还是先搞定js的加密和压缩,一方面可以提高页面 ...

  2. Spring Annotation是怎么工作的?

    最近刚好看了下注解,虽然明白了注解的作用原理,但是仍然不明白Spring中的注解是如何工作的. 占座用,留待后续. 先来两个链接吧 https://dzone.com/articles/spring- ...

  3. 本来想用jsonp来跨域请求的,但sb写接口的,不改返回值。。。只得在后台请求接口了。。。

    string url = "ssss.com";//demo里的是get请求 HttpWebResponse w = HttpHelper.CreateGetHttpRespons ...

  4. CleanMyMac 3.7.5最强中文版_激活码_破解版_下载_注册码

    版权归作者所有,任何形式转载请联系作者.作者:缘来远去(来自豆瓣)来源:https://www.douban.com/note/612586476/ 最新版CleanMyMac 3中文版本已经发布快要 ...

  5. xss过滤函数

    XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中. 比如这些代码包括HTML代码和客户端脚本. function remove_xss($ ...

  6. 安装配置好openstack环境的虚拟机,须要改动ip时,在数据库中同步改动ip的方法

    感谢朋友支持本博客,欢迎共同探讨交流,因为能力和时间有限,错误之处在所难免,欢迎指正. 假设转载,请保留作者信息. 博客地址:http://blog.csdn.net/qq_21398167 原博文地 ...

  7. Ubuntu Server 下的网络配置

    $ ifconfig 配置DHCP客户端$ sudo vi /etc/network/interfaces加入 iface eth0 inet dhcp 配置静态IP地址$ sudo vi /etc/ ...

  8. rsync文件同步、Inotify-tools参数详解

    inotifywait用于等待文件或文件集上的一个待定事件,可以监控任何文件和目录设置,并且可以递归地监控整个目录树: inotifywatch用于收集被监控的文件系统计数据,包括每个inotify事 ...

  9. 动态提交使用jQuery 完成ajax 文件下载----后端php

    1.js代码 // Ajax 文件下载 //当不用传参时,可以将data去掉 jQuery.download = function(url, data, method){ // 获得url和data ...

  10. ModelState.AddModelError使用

    后台: ModelState.AddModelError("userPwd", "请输入密码!"); ModelState是一个字典类型,这句话的作用是向Mod ...