首页 > 其他 > 详细

作业2

时间:2016-01-08 14:35:42      阅读:221      评论:0      收藏:0      [点我收藏+]
//
//  main.m
//  作业1
//
//  Created by syrcfwzx on 16/1/8.
//  Copyright (c) 2016年 syrcfwzx. All rights reserved.
//

#import <Foundation/Foundation.h>
#define NSLog(FORMAT, ...) printf("%s\n", [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String])
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSDictionary *dic1=@{@"name":@"小阳",
                             @"class":@"IOS8",
                             @"age":@"24"
                             };
        NSDictionary *dic2=@{@"name":@"小明",
                             @"class":@"IOS6",
                             @"age":@"67"
                             };
        NSDictionary *dic3=@{@"name":@"小丽",
                             @"class":@"IOS8",
                             @"age":@"12"};
        NSDictionary *dic4=@{@"name":@"小杨",
                             @"class":@"IOS8",
                             @"age":@"9"};
        
        //1.将以上四个字典存入数组中,输出数据以班级:XXX,姓名:XXX,年龄:XX格式。
        NSMutableArray* array = [NSMutableArray array];
        [array addObject:dic1];
        [array addObject:dic2];
        [array addObject:dic3];
        [array addObject:dic4];
        
        for(id obj in array)
        {
            NSDictionary* dic = obj;
            NSLog(@"姓名:%@ 班级:%@ 年龄:%@",dic[@"name"],dic[@"class"],dic[@"age"]);
        }
        NSLog(@"??????????????????????????????????????????");

        //2.删除小明此条数据,列出剩余数据,输出格式同上。
        for(int i=0;i<array.count;i++)
        {
            NSDictionary* ndic = array[i];
            if([ndic[@"name"]isEqual:@"小明"])
            {
               
                [array removeObject:ndic];
            }
        }
        
        for(id obj in array)
        {
            NSDictionary* dic = obj;
            NSLog(@"姓名:%@ 班级:%@ 年龄:%@",dic[@"name"],dic[@"class"],dic[@"age"]);
        }
       NSLog(@"????????????????????????????????????????????");
        
        //3.按照班级进行排序,如果班级相同则按照年龄排序输出数据,格式同上。描述器
        NSSortDescriptor* sortDescriptor1 = [NSSortDescriptor sortDescriptorWithKey:@"class" ascending:YES];
        NSSortDescriptor* sortDescriptor2 = [NSSortDescriptor sortDescriptorWithKey:@"age" ascending:YES];
        NSArray* descs = [NSArray arrayWithObjects:sortDescriptor1,sortDescriptor2, nil];
        NSArray* sortArray = [array sortedArrayUsingDescriptors:descs];
        for(id obj in sortArray)
        {
            NSDictionary* mdic = obj;
            NSLog(@"姓名:%@ 班级:%@ 年龄:%@",mdic[@"name"],mdic[@"class"],mdic[@"age"]);
        }
         NSLog(@"????????????????????????????????????????????");
        //NSSortDescriptor 指定用于对象数组排序的对象属性
        //主要用于对象数组排序的对象属性
        
        [array sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {
            NSComparisonResult result = [obj1[@"class"]compare:obj2[@"class"]];
            int a =[obj1[@"age"]intValue];
            int b =[obj2[@"age"]intValue];
            if(result==NSOrderedSame)
            {
                if(a==b)
                {
                    return NSOrderedSame;
                }
                else if (a>b)
                {
                    return NSOrderedDescending;
                }
                else
                {
                    return NSOrderedAscending;
                }
                
            }
            else
            {
                return result;
            }
        }];
        for(id obj in array)
        {
            NSDictionary* dic = obj;
            NSLog(@"姓名:%@ 班级:%@ 年龄:%@",dic[@"name"],dic[@"class"],dic[@"age"]);
        }


    }
    return 0;
}

 

作业2

原文:http://www.cnblogs.com/hezhuangzhuang/p/5113101.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!