现在的位置: 首页 > 综合 > 正文

Object-C学习笔记(三)-----实体类和for循环以及NSMutableArray的连用

2013年08月10日 ⁄ 综合 ⁄ 共 1835字 ⁄ 字号 评论关闭

这里 我采用NSMutableArray 而不使用NSArray,是受了java的影响,前者接近java中的List,后者却接近java中的数组;

NSMutableArray长度可以不确定,可以在末尾继续添加对象,操作起来也比较方便。   具体 NSMutableArray和NSArray的区别,请参考下面的文章,介绍的很清楚;

http://blog.csdn.net/ganlijianstyle/article/details/7611776

NSArray中常用的方法,请参考下面的文章,介绍的很清楚:

http://blog.csdn.net/onetoneom/article/details/7894564

下面记下自己写的例子:

项目结构图如下:

Student.h

#import <Foundation/Foundation.h>

@interface Student : NSObject
{
    int age;
    NSString *name;
    
}
 

-(void) setAge:(int)a;

-(void) setName:(NSString *) n;

-(int) getAge;

-(NSString *) getName;

@end

Student.m

#import "Student.h"

@implementation Student

-(void) setAge:(int)a
{
    age=a;
}

-(void)setName:(NSString *)n
{
    name=n;
}


-(NSString *)getName
{
      return name;
}

-(int)getAge
{
    return age;
}

@end

Opeartion.h

#import <Foundation/Foundation.h>

@interface Opeartion : NSObject

+(void)arropeartion1;

+(void)arropeartion2;


@end

Opeartion.m


#import "Opeartion.h"
#import "Student.h"
@implementation Opeartion


+(void)arropeartion1
{
    Student *student1=[[Student alloc] init];
    [student1 setName:@"郭靖"];
    [student1 setAge:20];
    
    Student *student2=[[Student alloc] init];
    [student2 setName:@"黄蓉"];
    [student2 setAge:19];
    
    NSMutableArray *arr=[[NSMutableArray alloc] init];
    [arr addObject:student1];
    [arr addObject:student2];

    
    [student1 release];
    [student2 release];
    
    for (int i=0; i<[arr count]; i++) {
        Student *stu=[arr objectAtIndex:i];
        NSLog(@"姓名:%@, 年龄:%i",[stu getName],[stu getAge]);
        [stu release];
    }
    
      
}

+(void)arropeartion2
{
    NSMutableArray *array=[[NSMutableArray alloc] init];
    
    for (int i=0; i<10; i++) {
        Student *stu=[[Student alloc] init];
        [stu setAge:i];
        [stu setName:@"郭靖"];
        [array addObject:stu];
        [stu release];
    }
    
    for (int i=0; i<[array count]; i++) {
        Student *st=[array objectAtIndex:i];
        NSLog(@"姓名: %@    ,  年龄: %i ", [st getName], [st getAge]);
        [st release];
    }
   
    
}

@end

main.m

#import <Foundation/Foundation.h>
#import "Student.h"
#import "Opeartion.h"
int main(int argc, const char * argv[])
{

    @autoreleasepool {
            
        [Opeartion arropeartion1];
        
        NSLog(@"---------------");
        
        [Opeartion arropeartion2];
        
    }
    return 0;
}



抱歉!评论已关闭.