ios 中数组,字典 集合部类的几种常用枚举方法

ios 中数组,字典 集合类型的几种常用枚举方法

  NSMutableArray *array=[[NSMutableArray alloc]initWithObjects:@"apple",@"ab",@"aa",@"aac",@"appd", nil];
    //排序
    [array sortUsingComparator:^NSComparisonResult(__strong id obj1,__strong id obj2){
        NSString *str1=(NSString *)obj1;
        NSString *str2=(NSString *)obj2;
        return [str1 compare:str2];
    }];
    NSLog(@"array=%@",array);
    
    //枚举字典
    NSNumber *age=[NSNumber numberWithInt:51];
    NSDictionary *dic=[[NSDictionary alloc]initWithObjectsAndKeys:@"Anthony",@"FirstName",@"Robbins",@"LastName",age,@"age", nil];
    [dic enumerateKeysAndObjectsUsingBlock:^(__strong id key,__strong id value,BOOL *stop){
        NSLog(@"Key=%@,Value For Key=%@",key,value);
    }];
    
    //法二
    NSEnumerator *keys=[dic keyEnumerator];
    id keyInDic=nil;
    while ((keyInDic =[keys nextObject])!=nil) {
        id valueForKey=[dic objectForKey:keyInDic];
        NSLog(@"Key=%@,ValueForKey=%@",keyInDic,valueForKey);
    }
    
    //NSSet
    NSString *hisName=@"li";
    NSString *hisLastname=@"san";
    NSString *herName=@"zhang";
    NSString *herLastname=@"san";
    NSMutableSet *set=[[NSMutableSet alloc]initWithObjects:hisName,hisLastname,herName,herLastname, nil];
    NSLog(@"%@",set);
    
    //删除对象
    [set removeObject:herLastname];
    NSLog(@"%@",set);
    
    //添加
    [set addObject:hisLastname];
    NSLog(@"%@",set);
    
    [set addObjectsFromArray:array];
    NSLog(@"%@",set);
    
    //遍历set
    [set enumerateObjectsUsingBlock:^(__strong id objc1,BOOL *stop){
        if ([objc1 isKindOfClass:[NSString class]]) {
            NSString *str=(NSString*)objc1;
            if ([str isEqualToString:@"san1"]) {
                NSLog(@"find san in set");
                *stop=YES;
            }
        }
    }];
    
    //set anyObject
    NSLog(@"set anyObject:%@",[set anyObject]);//返回一个任意的set值
    NSLog(@"set allObject:%@",[set allObjects]);//遍历所有