[示例]创建Student类,输入学生信息并存入字典,将3个存有学生信息的字典存入数组,并计算

代码:

main:

#import <Foundation/Foundation.h>
#import "Student.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Student *stu1=[[Student alloc]initWithName:@"wang" andGender:@"male" andAge:@28];
        Student *stu2=[[Student alloc]initWithName:@"yang" andGender:@"female" andAge:@27];
        Student *stu3=[[Student alloc]initWithName:@"lang" andGender:@"male" andAge:@26];
        NSDictionary *dic1=[NSDictionary dictionaryWithObjectsAndKeys:stu1.name,@"name",stu1.gender,@"gender",stu1.age,@"age", nil];
        NSDictionary *dic2=[NSDictionary dictionaryWithObjectsAndKeys:stu2.name,@"name",stu2.gender,@"gender",stu2.age,@"age", nil];
        NSDictionary *dic3=[NSDictionary dictionaryWithObjectsAndKeys:stu3.name,@"name",stu3.gender,@"gender",stu3.age,@"age", nil];
        NSArray *arr=[NSArray arrayWithObjects:dic1,dic2,dic3, nil];
        [Student displayFirstAndLastName:arr];
        [Student caculateFirstAndLastAge:arr];
    }
    return 0;
}

Student.h:

#import <Foundation/Foundation.h>

@interface Student : NSObject
-(instancetype)initWithName:(NSString *)newName andGender:(NSString *)newGender andAge:(NSNumber *)newAge;
+(void)displayFirstAndLastName:(NSArray *)array;
+(void)caculateFirstAndLastAge:(NSArray *)array;
@property NSString *name;
@property NSString *gender;
@property NSNumber *age;
@end

Student.m:

#import "Student.h"

@implementation Student
-(instancetype)initWithName:(NSString *)newName andGender:(NSString *)newGender andAge:(NSNumber *)newAge
{
    name=newName;
    gender=newGender;
    age=newAge;
    return self;
}
+(void)displayFirstAndLastName:(NSArray *)array
{
    NSDictionary *dicFirst=[array firstObject];
    NSDictionary *dicLast=[array lastObject];
    NSLog(@"first name:%@,last name:%@",dicFirst[@"name"],dicLast[@"name"]);
}
+(void)caculateFirstAndLastAge:(NSArray *)array
{
    NSDictionary *dicFirst=[array firstObject];
    NSDictionary *dicLast=[array lastObject];
    int firstAge=[dicFirst[@"age"] intValue];
    int lastAge=[dicLast[@"age"] intValue];
    NSLog(@"Age between first and last:%d",abs(firstAge-lastAge));
}
@synthesize name,gender,age;
@end

 

posted @ 2016-01-10 13:56  零点五  阅读(1288)  评论(0编辑  收藏  举报