iOS编程(第四版)笔记--待续
2015-09-22 16:27
288 查看
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
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
相关文章推荐
- Quartz2D-图形上下文栈
- iOS---XCode7 + IOS9 问题及解决方案
- ios9 jsonkit crash更新xcode7后原来的jsonkit崩溃
- iOS-OAuth认证
- 常用的IOS动画效果
- iOS开发-------自定义回调
- iOS开发系列--数据存取
- iOS9在ionic下出现的问题
- iOS中触摸事件详解和使用
- iOS 打包iPa
- iOS开发 - 滚动视图表格视图嵌套使用
- iOS开发的一些奇谲巧技
- iOS 广告轮播
- iOS9 升级XCode7遇到的问题收集
- 判断IOS 数字是否合法,邮箱是否合法
- IOS7使用原生API进行二维码和条形码的扫描
- iOS项目开发实战——使用SDWebImage库进行图片请求
- CocoaPods pod install/pod update更新慢的问题
- iOS开发CGD
- ios 开发中遇到的问题总结以及解决方法