Array

//源码初学,内存上应该有存在泄露

//  MyArray.h

//  myTask

//

//  Created by user on 12-4-15.

//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.

//


#import <Foundation/Foundation.h>


typedef struct{

    int id;

    NSString *name;

} Stu;

@interface MyArray :NSObject

{

    NSMutableArray *mMHBArray;

    NSMutableArray *mFrameArray;

}


- (id) init;

- (id) unInit;


-(void) AddText;

-(void) PrintText;

-(void) AddOBJ : (Stu *)para;

-(Stu *) GetOBJ : (int)idx;

@end


//

//  MyArray.m

//  myTask

//

//  Created by user on 12-4-15.

//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.

//


#import "MyArray.h"


@implementation MyArray


-(id) init

{

    self = [superinit];      

    if(self)   {    

        //变量初始化

        mMHBArray =  [NSMutableArrayarrayWithCapacity:20];

        mFrameArray = [NSMutableArrayarrayWithCapacity:20];

        [self AddText];

        [self PrintText];

    }

    return 0;

}

-(id) unInit

{

    [mMHBArrayrelease];

    [mFrameArrayrelease];

    return  0;

}


-(void) AddText

{

    for (int i = 0; i< 10; i++) {

        Stu * pStu = (Stu *)malloc(sizeof(Stu));

        pStu->id = i;

        pStu->name =@"mz";

        [self AddOBJ : pStu];

    }

}


-(void) PrintText

{

     for (int i = 0; i< 10; i++) {

         Stu * ptemp = [selfGetOBJ: i];

         NSLog(@"%d %@\n", ptemp->id, ptemp->name);

     }

}


-(void) AddOBJ : (Stu *)para

{

    NSValue *value = [NSValue valueWithBytes:para objCType:@encode(Stu)]; //此处为拷贝够着函数

    [ mMHBArrayaddObject: value];

}


-(Stu *) GetOBJ : (int)idx

{

    Stu *temp = (Stu *)malloc(sizeof(Stu));

    NSValue *value = [self->mMHBArrayobjectAtIndex:idx];

    [value getValue : temp]; 

    return  temp;

}

@end


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值