零基礎,不懂就問,objective-c的消息(一年後的更新)
PHP中文网
PHP中文网 2017-04-24 09:12:43
0
1
420

在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這一段,我還是理解得比較模糊,我理解的是擁有執行方法的指針對像或者類?可以點撥一下我麼?謝謝大家了!

PHP中文网
PHP中文网

认证0级讲师

全部回覆(1)
伊谢尔伦

NSDate就是接收訊息的對象
這裡的指针 并不指代C语言中的指针类型, 這裡應該是翻譯或表達問題。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板