码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2015-07-17 11:24:02      阅读:153      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!