在Objective-c 中,不同对象间通信貌似只能通过protocol & delegate 实现。
sample code:
需要发送消息给其他类的类头文件中:
@protocol ShakeDelegate <nsobject>
@optional
//- (void)shakeAnimationStart;
- (void)callShakeAnimationStart;
- (void)callShakeAnimationStop;
@end
该类中添加变量:
id <shakedelegate> delegate;
M文件中发送信息:
[self.delegate callShakeAnimationStart];
在需要接受信息的类中:
@interface 添加继承
<ShakeDelegate>
设置需要传递的类的instance代理对象为自己:
childInstance.delegate = self;
在自己类实现delegate 方法:
- (void)callShakeAnimationStop
{
// oops , i received the message from other class ....
}
完成。
分享到:
相关推荐
在iOS和macOS开发中,`delegate`与`block`都是常见的回调机制,用于实现对象间的通信和事件处理。它们各自具有独特的特性和使用场景,理解它们的工作原理和比较是提高编程效率的关键。 首先,我们来看一下`delegate...
Delegate是一种协议(Protocol)导向的回调方式,它是Objective-C中的一个关键特性。当一个对象需要另一个对象告知其状态变化或执行某些操作时,可以设置这个对象为自己的代理。代理遵循特定的协议,协议中定义了...
**委托(Delegate)** 1. **定义与理解**:委托在C#中可以看作是指向方法的引用,类似于函数指针。它允许我们将方法作为参数传递给其他方法,或者存储在变量中,这样就可以在后续的代码中调用这些方法,增强了代码...
通过这个“ios protocol 界面跳转demo”,我们可以学习到如何利用协议和代理模式优雅地处理界面之间的跳转,提高代码的可读性和可维护性。实践过程中,你还可以尝试添加更多功能,如传递数据、处理回调等,进一步...
正式协议是通过protocol指定的一系列方法的声明,然后由实现该协议的类自己去实现这些方法。而非正式协议是通过向NSObject中添加一个类别来实现,然后子类去继承NSObject。其实都差不多。 不过,非正式协议已经渐渐...
在这个"Delegate小Demo"中,我们将深入理解Delegate的概念,以及如何在实际编程中使用它。 1. Delegate基本概念: Delegate是一种引用方法的类型,可以看作是方法的“引用”。它定义了一组参数和一个返回值,与之...
本教程通过一个简单的demo来介绍如何使用iOS中的Delegate机制,以便你能更好地理解和应用到实际项目中。 首先,我们需要理解什么是Delegate。Delegate在iOS编程中扮演着“代理人”的角色,它定义了一组方法,这些...
在iOS和macOS开发中,协议(Protocol)和代理(Delegate)是Objective-C和Swift编程中的重要概念,它们主要用于对象间的通信。在这个"ProtocolDemo"示例中,我们将会探讨如何利用这两种机制来实现功能丰富的应用程序...
在这个"IOS开发delegate Demo"中,我们将深入理解并实践Delegate的概念。 Delegate的核心在于协议(Protocol)。在Objective-C中,协议定义了一组方法,对象可以选择实现这些方法来响应特定的事件或行为。在Swift中...
在"qt delegate代理的使用demo"中,我们可以看到一个实际的例子,它展示了如何创建、应用自定义Delegate,并可能包含对不同列或行的特殊处理。这个demo可能包含了创建Delegate的源代码,以及如何在视图中使用它的...
这个“Delegate小Demo”显然是一个用于学习和复习Delegate用法的示例项目。让我们深入探讨Delegate的概念、类型、用途以及如何在C#中使用它。 Delegate是一种引用类型,它类似于函数指针,但更安全且功能更强大。...
本项目"A very simple tableview demo swift"旨在展示如何在Swift中创建并操作基本的表格视图。下面将详细阐述相关知识点。 【描述】"一个非常简单的Swift表格视图演示" 这个Swift示例项目旨在帮助初学者理解如何...
在iOS和macOS开发中,Protocol(协议)和Delegate(代理)是两个非常重要的概念,它们主要用于对象间的通信。Protocol可以被看作是一系列方法的集合,定义了必须被实现的接口,而Delegate则是一种设计模式,使得一个...
Delegate是一个协议(Protocol),定义了一组方法,这些方法将在委托对象中实现。协议通常以“Delegate”结尾,例如UITableViewDelegate。当一个对象遵循了这个协议,它就必须实现协议中声明的方法。在我们的示例...
QTableView和代理Delegate
在iOS开发中,Delegate是一种非常重要的设计模式,它允许对象之间进行通信,特别是当一个对象(委托者)需要通知另一个对象(委托对象)某些事件发生时。本文将深入讲解“简单的Delegate实现”,并以实际代码为例,...
首先,`delegate`是Objective-C中的一个协议(protocol),它定义了一组方法,这些方法可以被其他遵循该协议的对象实现。这种方式允许一个对象(通常称为委托者,或`delegate`)对另一个对象(委托对象,或`...
在iOS开发中,Delegate是一种非常重要的设计模式,它允许对象之间进行通信,使得一个对象能够对另一个对象的行为进行响应。本篇文章将通过“delegate五步曲”,帮助你深入理解并熟练掌握如何在iOS应用中使用Delegate...
在iOS开发中,代理协议(Delegate Protocol)是一种重要的设计模式,它使得对象间可以进行通信,特别是当一个对象需要响应另一个对象的特定事件时。在这个"iOS代理协议DEMO"中,我们将深入探讨如何在iOS应用中使用...
@protocol PageTransferDelegate - (void)transferValue:(NSString *)value fromSender:(UIViewController *)sender; @end ``` 在这个例子中,我们定义了一个方法`transferValue:fromSender:`,它接受一个字符串值...