iOS生命周期 & 通知中心】的更多相关文章

笔记内容 学习笔记-段玉磊 Stanford course View Controller Lifecycle 这篇文是我记载Developing iOS 7 Apps公开课 第5课的笔记 UITextView Set its text and attributes via its NSMutableAttributedString 使用UITextView 要属性NSTextStorage类型 @property (nonatomic, readonly) NSTextStorage *tex…
从实践谈iOS生命周期 个人感觉生命周期无论在Android,还是iOS都是很重要的概念,因为在每个声明周期的状态下我们可以做很多预加载或者处理的操作.因此在这里主要总结下ViewController和AppDelegate中的一些状态. 应用程序的状态 看下这个图: Foreground :前台 Background :后台 Not running:应用程序并没有启动 Inactive :应用程序运行在前台但是没有接收到事件响应 Active :应用程序运行在前台接受到事件响应 Backgro…
   应用生命周期 App启动:当App启动时,首先由not running状态切换到inactive状态,此时调用application:didFinishLaunchingWithOptions:方法:然后由inactive状态切换到active状态,此时调用applicationDidBecomeActive:方法.当App发生中断时,由active状态切换到inactive状态,此时调用applicationWillResignActive:方法. 来回切换App:当切换到另一个App时…
前言 面向对象的设计思想是把行为方法封装到每一个对象中,以用来增加代码的复用性.正是这种分散封装,增加了对象之间的相互关联,总是有很多的对象需要彼此了解以及相互操作! 一个简单示例说明这种交互产生的对象之间的相互依赖: 有一个列表框,每当列表框的某一项被选中时,就会弹出一个对话框,对话框包含一个或多个输入框,在输入框输入完毕 输入的文字要更新要列表中显示.文字描述有点啰嗦,大家可以想一下QQ的好友列表,这与其类似的! 只是这几个UI控件之间的交互逻辑就如此的麻烦与复杂.这种对象之间的相互关联与我…
通知中心,它是IOS程序内部的一种消息广播机制,通过它,可以实现无引用关系的对象之间的通信.通知中心他是基于观察者模式,它只能进行程序内部通信,不能跨应用程序进程通信.当通知中心接受到消息后会根据设置,将消息发送给订阅者,这里的订阅者可以有多个. 通知中心与代理模式类似,都可以实现多个对象间通信,通知中心可以将一个通知发送给多个监听者,而代理模式每个对象只能添加一个代理.但无论是那种模式,都是一种低耦合的设计,实现对象间的通信. 使用通知中心的步骤 1.注册观察者对某个事件(以字符串命名)感兴趣…
iOS视图控制对象生命周期-init.viewDidLoad.viewWillAppear.viewDidAppear.viewWillDisappear.viewDidDisappear的区别及用途 init-初始化程序 viewDidLoad-加载视图 viewWillAppear-UIViewController对象的视图即将加入窗口时调用: viewDidApper-UIViewController对象的视图已经加入到窗口时调用: viewWillDisappear-UIViewCont…
其实这里的通知和之前说到的KVO功能很想,也是用于监听操作的,但是和KVO不同的是,KVO只用来监听属性值的变化,这个发送监听的操作是系统控制的,我们控制不了,我们只能控制监听操作,类似于Android中系统发送的广播,我们只能接受.但是通知就不一样了,他的监听发送也是又我们自己控制,我们可以在任何地方任何时机发送一个通知,类似于Android中开发者自己发送的广播.从这一点看来,通知的使用场景更为广泛了. 下面就来看一下例子: 还是护士和小孩的那个例子 Children.h // //  Ch…
通知介绍 每一个应用程序都有一个通知中心(NSNotificationCenter)实例,专门负责协助不同对象之间的消息通信 任何一个对象都可以向通知中心发布通知(NSNotification),描述自己在做什么. 其他感兴趣的对象(Observer)可以申请在某个特定通知发布时(或在某个特定的对象发布通知时)收到这个通知 初始化通知中心 // 初始化通知中心 NSNotificationCenter *center =[NSNotificationCenter defaultCenter];…
1.application didFinishLaunchingWithOptions:当应用程序启动时执行,应用程序启动入口,只在应用程序启动时执行一次.若用户直接启动,lauchOptions内无数据,若通过其他方式启动应用,lauchOptions包含对应方式的内容. 2.applicationWillResignActive:在应用程序将要由活动状态切换到非活动状态时候,要执行的委托调用,如 按下 home 按钮,返回主屏幕,或全屏之间切换应用程序等. 3.applicationDidE…
经常因为生命周期的事情,而视图顺序加载错误,或者出现一系列的小错误并且修改不出来,程序员不知道生命周期确实挺可悲的. IOS生命周期: 自上而下的执行,并且viewDidLoad只会执行一次,所以我们一般把对象的声明放在viewDidLoad中去. Main.storyboard会比viewDidLoad先执行初始化.所以代码如果和视图有冲突,那就是代码覆盖视图了. 这里我写了一个可以清楚的看到视图加载的顺序的小程序: 新生成一个类管理一个页面用来主页面的跳转,设置一下背景色. - (void)…