黑马程序员一NSSet, NSDictionary

来源:互联网 发布:淘宝双十一晚会直播 编辑:程序博客网 时间:2024/05/22 22:24


------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------


集合类(无顺序)

一.NSSet

    NSSet

    ->NSMutableSet

     

<span style="font-size: 11px;"> </span><span style="font-size:14px;">NSSet *S = [NSSet set];    NSSet *s1 = [NSSet setWithObjects:@"jack",@"rose",nil];        NSString *str = [s2 anyObject];//无序,随机拿出一个元素        NSMutableSet *s = [NSMutableSet set];    //添加元素    [s addObject:@"hack"];    //删除元素    [s removePbject:(id)];</span><span style="font-family: Menlo; font-size: 11px; background-color: rgb(255, 255, 255);"> </span>

    

二.NSSetNSArray的对比

   1.共同点

   都是集合,都能存放多个OC对象

   只能存放OC对象,不能存放非OC的对象类型(基本数据类型:int,char,float,结构体,枚举)

   本身都不可变,都有一个可变的子类

   2.不同点

    NSArray有顺序,NSSet没有顺序

     

 三.NSDictionary

   NSDictionary

   ->NSMutableDictionary

  无序

  快速创建(不可变):@{key1 : value1,  key2 : value2}

  快速访问元素:字典名[key]

<span style="font-size:14px;">   NSArray *persons = @[   @{@"name" : @"jack", @"qq" :@"432423423", @"books": @[@"5分钟突破iOS编程", @"5分钟突破android编程"]},   @{@"name" : @"rose", @"qq" :@"767567"},   @{@"name" : @"jim", @"qq" : @"423423"},   @{@"name" : @"jake", @"qq" :@"123123213"}   ];   </span>

 

<span style="font-size:14px;">   NSDictionary *jim = persons[2];   NSString *bookName = persons[0][@"books"][1];   NSLog(@"%@", bookName);   NSArray *array = persons[0][@"books"];</span>

   

    先取出1位置对应的字典

    再取出字典中qq这个key对应的数据


    字典不允许有相同的key,但允许有相同的value(Object)

    字典的无序的

<span style="font-size:14px;"> NSDictionary *dict = @{   @"address" : @"北京",   @"name" : @"jack",   @"name2" : @"jack",   @"name3" : @"jack",   @"qq" : @"7657567765"};</span>


<span style="font-size: 11px;">      </span><span style="font-size:14px;"> NSArray *keys = [dictallKeys];          for (int i = 0;i<dict.count; i++)       {           NSString *key = keys[i];           NSString *object =dict[key];                 NSLog(@"%@ =%@", key, object);       }</span>

   

<span style="font-size:14px;"> [dict enumerateKeysAndObjectsUsingBlock:    ^(id key, id obj, BOOL *stop) {        NSLog(@"%@ - %@", key, obj);                // *stop = YES;    }];</span>

<span style="font-size: 11px;">   </span><span style="font-size:14px;">NSMutableDictionary *dict = @{@"name" : @"jack"};     [dict setObject:@"rose" forKey:@"name"];</span>

 
<span style="font-size:14px;"> NSMutableDictionary *dict = [NSMutableDictionary dictionary];</span>

   

  添加键值对

   

<span style="font-size: 11px;">  </span><span style="font-size:14px;"> [dict setObject:@"jack" forKey:@"name"];       [dict setObject:@"北京" forKey:@"address"];      [dict setObject:@"rose" forKey:@"name"];</span>

    移除键值对

  

<span style="font-size:14px;">   [dict removeObjectForKey:<#(id)#>];</span>

<span style="font-size:14px;">   NSString *str = dict[@"name"];</span><span style="font-size: 11px;"></span>


 字典

    key ----> value

    索引 ----> 文字内容

    里面存储的东西都是键值对

     

<span style="font-size: 11px;">   </span><span style="font-size:14px;"> NSDictionary *dict = [NSDictionarydictionaryWithObject:@"jack" forKey:@"name"];          NSArray *keys = @[@"name", @"address"];    NSArray *objects = @[@"jack", @"北京"];       NSDictionary *dict = [NSDictionary dictionaryWithObjects:objectsforKeys:keys];</span>
    NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:    @"jack", @"name",    @"北京",@"address",    @"32423434", @"qq", nil];*/         NSDictionary *dict = @{@"name" : @"jack",@"address" : @"北京"};      // id obj = [dict objectForKey:@"name"];      id obj = dict[@"name"];      NSLog(@"%@", obj);   


   

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
0 0
原创粉丝点击