Stay hungry,stay foolish

iOS编程(第四版)笔记--待续

1、Party *partyInstance = [Party alloc]; [partyInstance init]; 因为任何一个对象都必须在创建并且初始化后才能     使用,所以上述两个消息应该写在一行 代码里,其代码如下:

  Party *partyInstance = [[Party alloc] init];

  这种将两个消息合写在一行代码中的做法称为嵌套消息发送(nested message send)。程序 会先执行最里面那个方括号中的代码,所以 Party 类会先收到 alloc 消息。接着,alloc 方 法会返回指向新创建对象的指针。最后,未初始化的对象会收到 init 消息,返回初始化后的 对象指针,并将指针保存在变量中。

---------------------------------------------------------------------------------------------------------

2、标签和参数必须配对的语法是 Objective-C 的一项重要特性。在其他语言中,上面这行代 码可能会写成:

  partyInstance.addAttendeeWithDish(somePerson, deviledEggs);

在这些语言中,传入函数的各个数值分别对应哪个参数并不明显。在 Objective-C 中,每 个数值都会和相应的标签配对,代码如下:

  [partyInstance addAttendee:somePerson withDish:deviledEggs];

这里要记住,每一组方括号只对应一条需要发送的消息。虽然这里的 addAttendee:withDish:有两个标签,但仍只是一条消息,发送这条消息只会触发一个方法。

--------------------------------------------------------------------------------------------------------

3

posted @ 2015-09-22 16:27  程序员不圆  阅读(257)  评论(0编辑  收藏  举报