1. 效率肯定是delegate比nsnotification高。
2. delegate方法比notification更加直接,最典型的特征是,delegate方法往往需要关注返回值,也就是delegate方法的结果。比如-windowShouldClose:,需要关心返回的是yes还是no。所以delegate方法往往包含should这个很传神的词。也就是好比你做我的delegate,我会问你我想关闭窗口你愿意吗?你需要给我一个答案,我根据你的答案来决定如何做下一步。相反的,notification最大的特色就是不关心接受者的态度,我只管把通告放出来,你接受不接受就是你的事情,同时我也不关心结果。所以notification往往用did这个词汇,比如NSWindowDidResizeNotification,那么nswindow对象放出这个notification后就什么都不管了也不会等待接受者的反应。
------
如果2个模块之间有关系,就用delegate
比如,view 和 subview,view 和viewController,前一个view 和后一个view,等等兄弟姐妹父子关系
2个模块不沾边的情况下,选notification
分享到:
相关推荐
在iOS和macOS开发中,Objective-C和Swift中常见的两种通信机制是代理(Delegate)和通知(Notification)。本文将通过一个小型实验来深入探讨这两者的区别,并解释它们各自的使用场景和优缺点。 首先,代理...
首先,我们要了解iOS中的Notification分为本地通知(Local Notification)和远程通知(Remote Notification,也称为推送通知)。在“ios5 Notification示例”中,我们主要关注的是本地通知,因为它主要涉及应用内部...
在iOS开发中,Delegate是一种常见的对象间通信方式,主要用于实现页面间的交互,特别是数据传递。在你的场景中,"B页面往A页面传值"是一个典型的使用Delegate进行反向传值的例子。下面将详细讲解iOS中Delegate的概念...
`Delegate`机制是iOS设计模式的基础,广泛应用于UIViewController、UITableView、UITextField等组件,实现事件响应和数据传递。 在标题“delegate 使用 xcode iOS”中,我们主要探讨的是如何在Xcode环境下利用`...
iOS开发中,KVC(Key-Value Coding)、KVO(Key-Value Observing)、NSNotification和Delegate是四种常见的数据通信和状态监听技术。下面将详细解释这些概念及其区别。 1. KVC(Key-Value Coding) KVC是Objective-...
在iOS开发中,通知代理是实现对象间通信的重要机制,主要分为`NSNotificationCenter`和`Delegate`两种方式。本文将深入探讨这两种技术,并提供一个`DelegateDemo`实例来帮助理解。 首先,我们来看`NSNotification`...
在iOS开发中,通知代理是实现对象间通信的重要机制,主要分为两个方面:NSNotificationCenter和Delegate。这两种方式都允许一个对象监听并响应其他对象的事件,但它们各自有其特性和适用场景。 首先,我们来详细...
知识点:delegate和notification的区别,delegate机制使得接收者可以改变发送者的行为,而notification机制使得发送者告知接收者事件已经发生或者将要发生。 2. Object-C中创建线程的方法是什么?如果在主线程中...
9. **通知和代理**:iOS中的Notification和Delegate机制是对象间通信的重要手段,代码中可能会展示它们的使用场景和实现方法。 10. **权限管理**:例如访问用户位置、照片库、通知权限等,都需要获取用户的同意。...
实现六种iOS中常用的传值,包括:block、delegate、Notification通知传值、KVC传值、NSUserDefaults(本地数据持久化)和单例传值。这几种传值写在一个demo中,并附有详细的注释说明。
6. App Delegate与导航控制器:App Delegate是每个iOS应用的核心组件,负责处理应用程序的启动、事件和关闭。而导航控制器则提供了一种管理多个屏幕的层次结构,使得用户可以方便地在应用的不同页面间导航。 7. ...
该项目模仿了经典的电子宠物游戏,让用户通过交互来培养自己的虚拟宠物,展示了iOS应用的基本架构和功能实现。 2. **Swift语言基础** Michismon项目采用Swift编程语言编写,Swift是Apple为iOS、macOS和watchOS开发...
6. **Delegate与Notification**:Delegate协议用于对象间通信,一个对象可以作为另一个对象的代理,接收特定事件的通知。Notification机制允许任何对象发布和监听全局通知,实现松耦合的通信。 7. **Core Data**:...
在iOS开发中,Objective-C(OC)是一种常用的编程语言,特别是在构建用户界面时。页面间的通信是应用程序设计的关键部分,而`delegate`模式是OC中实现这种通信的一种常见方法。本篇文章将深入探讨如何在OC中使用`...
5. **TableView和CollectionView**:创建动态内容展示,理解DataSource和Delegate模式。 6. **动画与过渡**:利用UIKit实现视图动画,理解CAAnimation和UIView动画的区别。 7. **推送通知**:集成Apple Push ...
8. **通知与代理**:iOS中的Notification和Delegate机制是组件间通信的关键,源码中会演示如何注册接收通知,以及实现协议来处理代理方法。 9. **Auto Layout与Size Classes**:用于构建适应不同屏幕尺寸和设备的...
本文将深入探讨iOS中最常用的几种传值方式,包括Block、Delegate、属性赋值、代理协议以及Notification Center。了解并熟练掌握这些方法,能够帮助开发者更加高效地构建应用程序。 1. **Block(闭包)** Block是一...
标题提到的"iOS常用事件传递方法"主要包括委托(delegate)、通知(Notification)以及Block这三种方式。下面将详细讲解这三种方法,并结合描述中的例子——调用系统打电话功能,来阐述它们的应用。 1. 委托...
6. **Delegate与Notification**:iOS中的事件处理常使用委托(Delegate)模式和通知(Notification)。Scratch'n'See的事件响应机制可以通过这两种方式实现。 7. **Core Data**:如果应用有持久化数据需求,可能会...
8. **Notifications和Delegate**:应用可能使用Notification进行事件传递,比如当新新闻发布时通知用户。同时,Delegate模式也可能被用来处理各个组件之间的通信。 9. **TableView和CollectionView的Cell复用**:...