在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]
NSDate
the receiver : a pointer to the object or class that has the method that you want to execute.
date
the selector : the name of the method that you want to execute
selector这一段可以理解,但是NSDate
receiver
这一段,我还是理解得比较模糊,我理解的是拥有执行方法的指针对象或者类?可以点拨一下我么?谢谢大家了!
NSDate
은 메시지를 받는 객체입니다여기서
指针
는 C 언어의指针类型
을 의미하지 않습니다. 이는 번역이나 표현 문제일 것입니다.