首页 > 移动平台 > 详细

黑马程序员---ios学习日志12

时间:2015-07-17 11:21:49      阅读:179      评论:0      收藏:0      [点我收藏+]

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

1、对象的存储细节

类创建对象,每个对象在内存中都占居一定的储存空间,每个对象都有一份属于自己单独的成员变量,所有的对象公用类的成员方法,方法在整个内存中只有一份,类本身在内存中占据一份储存空间,类的方法存在于此。

 

举例:

#import <Foundation/Foundation.h>

//Person.h文件

@interface Person:NSObject

{

  int _age;

  NSString *_name;

}

-(void)run;

@end

//Person.m文件

@implementation Person

-(void)run{

NSLog(@"人在跑”);

}

@end


int main(int argc, const char * argv[]){
@autoreleasepool{

  Person *pe = [Person new];

  pe.name = @“李雪”;

  pe.age = 18;

  NSLog(@"姓名:%@,  年龄:%d",pe.name,pe.age);

  [pe run];

  //[Person new];做了三件事情

  //1、申请内存空间

  //2、给实例化变量初始化

  //3、返回空间的首地址

  //问题1:申请的空间在内存的哪个区?

  // new 的时候申请的空间在内存的堆区(程序动态分配的内存空间)

  //初始化时 如果实例变量是基本数据类型此时给初始化为0

  //            如果是OC字符串类型给初始化为null

  //问题2:实例变量又保存在声明地方?

  // 堆区   指针变量存放在栈区

  //问题3:对象方法保存在什么地方?

  //代码区

}
return 0;
}

 

黑马程序员---ios学习日志12

原文:http://www.cnblogs.com/luxuezhu/p/4653694.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!