消息(Message)
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
消息是Objective-C语言中向对象传递指令的机制,你可以让一个对象去为你做一些事情,让它改变它自己内部的状态或者向它询问一些你想知道的信息。
消息通常会调用一个方法,结果是接收消息的对象用某种方式回应这个消息,发送给对象的消息操作了对象和数据。对于返回值,类似于C语言,不过,Objective-C语言要求返回值必须是个对象。
对象之相应正确格式的消息,给对象发一个消息,你需要将对象名和消息名称或者是方法名以及方法所附带的参数,全部放进方括号中。给一个对象发消息的表达式如下:
[receiver messagename];
其中receiver是一个对象。 运行时环境会根据消息名调用对象的方法,例如,调用mySquare对象display方法的消息如下:
[mySquare display];
向对象传递消息时也可以附带参数,附带参数时要使用冒号,冒号也是messagename的一部分,所以要调用setFrameOrigin:: 方法的语句如下:
[button setFrameOrigin: 10.0 : 10.0];
一个Labels的描述参数是:
[button setWidth: 20.0 height: 122.0];
上面的消息会调用setWidth:height: 这个方法 传递一个可变参数数量的消息给对象的语句如下:
[receiver makeList: list, argOne, argTwo, argThree];
如果给nil发送消息,结果会使应用程序崩溃吗,在Objective-C语言中,是不会崩溃的。如下:
[nil display];
将不会发生任何事!
如果发送消息给一个对象并要求一个返回值,可这个对象正处于nil
状态,它将返回nil
空对象。但是如果这个方法将返回一个比如int
这样的基础数据类型,但如果在给该对象发消息时,对象是nil
状态,则是不可以的,也就是说,程序员要避免出现这种问题。
在线练习
{$ activeFileHint $}