问题描述
在objective-c编程的教程中,有一个是关于消息详解的内容,但不是很能理解。
消息发送(指令)必须写在一对方括号中,并且必须包含以下两部份。
指针,指向接收消息的对象。
方法名,要触发的方法的方法名。
但是我看到例子里,好像有的消息是没有指针的,代码如下:
NSDate *now = [NSDate date];NSLog(@'the new date lives at %@', now);double seconds = [now timeIntervalSince1970];NSLog(@'It has been %f seconds since the start of 1970.', seconds);
在第三行代码里,now是一个指针,我可以理解。但在第一行代码里,好像消息发送是没有指针的,也许我的理解有误,NSDate就是一个指针,只是我不知道。
希望有好心人帮我〜
将近一年的时间因为工作太忙,没有好好学习,前段时间项目告一段落,又捧起书本。结果看到上面的一段内容还是无法完全理解,或者说不知道自己理解的是否正确,还是回来这里再问问大家吧,谢了!
补充内容我找到了英文原版的这部份内容,如下:
NSDate *now = [NSDate date];
[NSDate date]
NSDatethe receiver : a pointer to the object or class that has the method that you want to execute.
datethe selector : the name of the method that you want to execute
selector这一段可以理解,但是NSDate receiver这一段,我还是理解得比较模糊,我理解的是拥有执行方法的指针对象或者类?可以点拨一下我么?谢谢大家了!
问题解答
回答1:NSDate就是接收消息的对象这里的指针 并不指代C语言中的指针类型, 这里应该是翻译或者表述问题。