`
zsjg13
  • 浏览: 145071 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

Message Dispatch

阅读更多

The receiving object (i.e., receiver) of a message determines at runtime which of its instance methods to invoke.

 

The Objective-C syntax for sending a message to (i.e., invoking a method on)  an object is

[receiver messageNameParams]

 

The messageNameParams information identifies the  method’s actual name and parameter values (if any);

and brackets enclose the message.

 

The syntax  for the messageNameParams is keyword1:value1 keyword2:value2 ... keywordN:valueN

 

A colon separates each method signature keyword and its associated parameter value.

It declares that a parameter is required.

 

If a method has no parameters, the colon is omitted 

(and that method has only one keyword).

 

Take the following message, for example:

[orderObject addItem:burgerObject forPrice:3.50];

The message name is addItem:forPrice:;

The message parameter values are burgerObject (for keyword addItem) and 3.50 (for keyword atPrice).

 

Objective-C supports type polymorphism , whereby different receivers can have different implementations of the same method.

 

The type of receiver is determined at runtime; consequently, different receivers can do different things in response to the same message.

 

In sum, the result of a message can’t be calculated from the message or method name alone;it also depends on the object that receives the message.

 

Objective-C provides language-level support for an alternative syntax—dot notation, which simplifies invoking property accessor methods.

 

The dot syntax for retrieving a property value is objectName.propertyName

The dot syntax for setting a property value is objectName.propertyName = Value

 

Dot syntax is merely an alternative syntax and not a mechanism for directly accessing a property-backed instance variable. The compiler transforms these statements into the corresponding property accessor methods.

 

Class methods are commonly used to create new instances of a class (i.e., as factory methods), or for accessing shared information associated with a class.

 

Objective-C augments its support for object messaging with language-level features that enable you

to determine at runtime the method to be invoked, and even change the method implementation.

 

 

 

 

分享到:
评论

相关推荐

    私塾在线 高级java软件架构师实战培训视频教程 阶段一 代码及目录 85-90 讲 共148讲

    2. **MessageDispatch高级特性**(第86、87、88、90节):MessageDispatch是指消息的分发机制,它涉及到消息的接收、处理和路由。这些课程可能涵盖了如何实现定制的消息调度策略,如延迟消息、优先级消息、批量处理...

    基于go 实现的分布式开源物联网MQTT消息服务器

    CMQ 是一个开源的分布式 MQTT 消息平台,支持海量物联网设备一站式接入、MQTT&CoAP 多协议处理、低时延实时消息通信。通过开发自定义的规则引擎,可以将数据转发到其他消息中间件,...MessageDispatch: 消息分发组件。

    ActiveMQ.rar

    n 十: Message Dispatch高级特性 包括: 消息游标、异步发送、严格分发策略、轮询分发策略、优化批量确认、 生产者流量控制等 十一: Message高级特性 包括:消息属性、 Advisory Message、延迟和定时消息投递、...

    Apache Tomcat 负载均衡

    <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> ``` - `McastService`定义了多播组地址和端口,用于发现集群中的其他成员。 - `NioReceiver`和`...

    iOS开发Runtime的用法

    1. **消息传递(Message Dispatch)**: Objective-C的对象通信基于消息传递机制。当调用一个方法时,实际上是向对象发送一条消息。Runtime负责查找对应的方法实现并执行。如果找不到对应的方法,Runtime会调用`...

    objc4-756.zip

    4. **Message Dispatch**:objc/message.mm包含了消息发送的实现,包括查找方法、执行方法以及动态方法解析。 5. **Protocol Implementation**:协议的相关代码可能在objc/protocol.c或objc/protocol_private.h中,...

    iOS runtime底层框架原码

    1. **消息传递(Message Dispatch)**:在OC中,方法调用实际上是一个消息发送的过程。runtime负责接收这个消息,找到对应的方法实现并执行。这涉及到方法选择器(SEL)、方法缓存和动态方法解析等机制。源码中的`...

    runtime代码xcode全局搜索查看.zip

    1. **消息传递(Message Dispatch)**:Objective-C的方法调用实际上是通过消息传递实现的,`objc_msgSend`是其中的关键。 2. **类别(Category)**:类别可以在不修改原有类源码的情况下向类添加方法,runtime支持...

    tomcat集群session共享

    <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> ``` 四、其他注意事项 1. 考虑到性能和安全,可以调整McastService的频率和dropTime,以控制多播消息...

    tomcat集群的配置.pdf

    <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> filter=""/> ``` 在这个配置中,`DeltaManager`用于处理Session数据的增量复制,减少不必要的...

    runtime 编译objc4-750相关对应版本依赖库

    3. 消息传递(Message Dispatch):Objective-C通过消息传递机制来实现方法调用,Runtime会根据接收者和消息名称找到正确的方法实现。 4. 动态类型(Dynamic Typing):Objective-C允许在运行时检查和改变对象的类型...

    ActiveMQ快速上手 PDF

    #### 十、MessageDispatch高级特性 - **消息游标**:通过游标机制更有效地处理大量消息。 - **异步发送**:允许消息在后台发送,从而提高应用程序的吞吐量。 - **严格分发策略**:确保消息按照特定顺序分发给消费者...

    tomcat集群配置

    <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> ... ``` 这里定义了一个基于TCP的集群,包含了成员资格(Membership)、传输层(Transport)和...

    ActiveMQ快速上手

    #### 十、MessageDispatch高级特性 **10.1 消息游标** - **功能介绍**:使用游标技术提高消息处理速度。 - **应用场景**:大数据量消息处理。 **10.2 异步发送** - **功能介绍**:异步发送消息,提高消息发送...

    应用层分布部署

    <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> className="org.apache.catalina.ha.session.JvmRouteSessionIDManager"/> ``` 通过以上配置,...

    apche_tomcat负载均衡

    <Interceptor className="org.apache.catalina.tribes.group.interceptor.MessageDispatch15Interceptor"/> ``` 上述配置启用了一个基于多播(McastService)的SimpleTcpCluster,以及BackupManager Manager...

    网络架构师148讲视频课程

    │ 第86节:MessageDispatch高级特性一.avi │ 第87节:MessageDispatch高级特性二.avi │ 第88节:MessageDispatch高级特性三.avi │ 第89节:Message高级特性一.avi │ 第90节:Message高级特性二.avi │ 第91节:...

Global site tag (gtag.js) - Google Analytics