零基础,不懂就问,objective-c的消息(一年后的更新)

【字号: 日期:2023-12-15浏览:76作者:雯心

问题描述

在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这一段,我还是理解得比较模糊,我理解的是拥有执行方法的指针对象或者类?可以点拨一下我么?谢谢大家了!

问题解答

回答1:

NSDate就是接收消息的对象这里的指针 并不指代C语言中的指针类型, 这里应该是翻译或者表述问题。

相关文章: