黑马程序员技术交流社区

标题: oc第二天总结 [打印本页]

作者: 和夏一样狂热    时间: 2015-8-5 23:36
标题: oc第二天总结
一. 对象的存储细节
1. 当创建一个对象的时候:Person *p1 = [Person new],做了三件事情:
    1.1,申请堆内存空间;
    1.2,给实例变量初始化;
    1.3,返回所申请空间的首地址;

2.  实例变量保存在堆区

3.  对象方法保存在代码区

4.   一个类可以创建多个对象;

二. #pragma mark指令

功能:对代码分组,方便代码查找和导航

使用格式: #pragma mark -

#waring  等待处理的功能,或者是未完成的功能


三. 函数和对象方法的区别
对象方法:
-(void)run;
(1)对象方法的实现在@implementation...@end中
对象方法的声明只能写在 @interface...@end中间

(2)对象方法都以-号开头

(3)对象方法只能由对象来调用

(4)函数属于整个文件,可以写在文件中的任何位置,包括@implementation...@end中,但写在 @interface...@end会无法识别,函数的声明可以在main函数内部也可以在main函数外部。

(5)对象方法归对象所有


函数:
void run();
(1)所有的函数都是平行的
(2)函数不存在隶属关系
(3)使用的时候可以直接调用
(4)不可以访问对象中的成员变量



四. 对象和方法之间的关系
1.对象作为方法的参数
-(void) displayPerson:(Person *)person{
    NSLog("姓名:%@",person->name);
}


2.对象作为方法的返回值
-(Person *)changePerson:(Person *)person{
    person->name = @"嗯哼";
    return person;
}


作者: 和夏一样狂热    时间: 2015-8-5 23:47
希望能够对大家有所帮助  大家都加油  哈哈哈哈
作者: paradise6    时间: 2015-8-6 07:19
感谢楼主分享                                       




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2