这里 我采用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; }