Skip to Main Content
iOS 编程基础:Swift、Xcode 和Cocoa 入门指南
book

iOS 编程基础:Swift、Xcode 和Cocoa 入门指南

by Matt Neuburg
January 2017
Intermediate to advanced content levelIntermediate to advanced
552 pages
9h 43m
Chinese
China Machine Press
Content preview from iOS 编程基础:Swift、Xcode 和Cocoa 入门指南
Cocoa
事件
471
3.
现在可以按住
Control
键并将控件(如
UIButton
)拖曳到
First Responder
代理上使
用指定的签名来定义一个
nil-targeted
动作。
11.8
键值观测
键值观测(
KVO
)是一种不使用
NSNotificationCenter
的通知机制。一个对象可以通过
KVO
直接注册到第
2
个对象上,当第
2
个对象中的值发生变化时,第
1
个对象就会收到
通知。此外,第
2
个对象(被观察的对象)不必做任何额外的事情,它甚至都意识不到
注册已经发生了。当被观测对象中的值发生了变化,注册对象(观察者)就会自动收到
通知(也许更好的一个架构上的类比就是目标-动作机制;这是一种介于任意两个对象
之间的目标-动作机制)。
在使用
KVO
时,观察者就是你自己的对象;当观察者接收到被观察者改变的通知时,
你需要编写代码进行响应。不过,被观察的对象(注册到其上以监听变化的对象)无需
是你自己的对象;实际上,通常情况下它也不是你自己的对象。很多
Cocoa
对象的行为
都是
KVO
形式的,你可以对其使用
KVO
。一般来说,
KVO
主要用于替代委托与通知。
KVO
的使用可以划分为如下
3
个阶段:
注册
要想监听被观察对象中某个值的变化,你需要注册到被观察对象上。这通常需要调
用被观察对象的
addObserver:forKeyPath:options:context:
方法(所有继承自
NSObject
的对象都有这个方法,因为它是通过非正式协议
NSKeyValueObserving
NSObject
中的,而
NSKeyV ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

机器学习实战:基于Scikit-Learn、Keras 和TensorFlow (原书第2 版)

机器学习实战:基于Scikit-Learn、Keras 和TensorFlow (原书第2 版)

Aurélien Géron
Swift 人工智能实战:从基础理论到AI 驱动的应用程序开发

Swift 人工智能实战:从基础理论到AI 驱动的应用程序开发

Mars Geldard, Jonathon Manning, Paris Buttfield-Addison, Tim Nugent

Publisher Resources

ISBN: 9787111556350