iOS开发对象和指针

来源:互联网 发布:dvd光盘修复软件 编辑:程序博客网 时间:2024/06/05 21:18
UIImageView * imgv=[[UIImageView alloc]init];

imgv是指针,指针指向的是对象。 

[[UIImageView alloc]init]; 创建了一个对象

imgv = 写在前面,等于把imgv指向了那个对象。所以imgv是指针
而对象藏在内存的某个角落里面,需要通过指针来访问 

指针指向了对象在内存中的一个地址  通过这个指针找到内存中的对象  以后写代码对指针进行操作就相当于对指针指向的对象进行操作

通过指针来找到对象而不是表示对象。


#import <Foundation/Foundation.h>  #import "Person.h"      //导入类的接口部分即可    int main(int argc, const charchar * argv[]) {      @autoreleasepool {                    /*下面这行代码实际上是产生两个东西:person变量、Person对象             1.person对象时包含成员变量的,而成员变量要内存来存储。             2.可以认为:Person*类型对变量指向实际的对象。             3.本质上讲:类是一种指针类型的变量,程序中定义的Person* 类型只是存放一个地址值,保存在main()函数的动态                     存储区,它指向实际的Person对象,而真正对Person对象则存放堆(heap)内存中。             4.也就是说:所有对象都只能通过指针变量来访问它们。             5.堆内存中可以有多个指针,即多个指针指向同一对象,如Person* p2 = person。             6.如果堆内存里的对象没有任何变量指向该对象,那么程序就无法访问该对象,就要释放内存,否则就造成内存泄漏。          */          Person* person = [[Person alloc] init];}      return 0;  }