Objective-C入门09:不可变字典

Objective-C入门09:不可变字典


#import <Foundation/Foundation.h>

int main(int argc,constchar * argv[]) {

    @autoreleasepool {

   

#pragma mark----------------字典-------------------

//        字典(NSDictionaryNSMwtableDictionary)是由键---值组成的数据集合

//        通过key(键)查找对应 value(值),key是字符对象,可以是任何其他类型对象。在一个字典对象中,

//        key必须是唯一的,

//        字典对象的键和值不能为空,如果需要在一个字典对像中表示一个空值,可以使用 NSNull对象

//        为什么要使用字典?  为什么不使用数组?

//        数组的特征 :它是按一定顺序去排列的集合,通过下标去取值(当希望数据按照一定的顺序取排列的时候,选择使用数组)

//        字典的特征:通过key存取值(获取一个具体的标示准确的得到咱们想要的值)

        

#pragma mark----------------字典的初始化-------------------

//        字典是通过key来存取值的

//        key value 是成对出现的

//        不可变字典的类名  NSDictionary


//        初始化一个空字典

//          NSDictionary *dic =  [ [ NSDictionary alloc ] init ] ; 

        

//        初始化一个空字典

//           NSDictionary *dic1 = [ NSDictionary dictionary ] ;

        

//        初始化一个字典的同时添加一对键值

//           NSDictionary *dic2 = [ NSDictionary dictionaryWithObject : @"value" forKey:@"key" ] ;

//        通过key可以取到 value的值

        

//        初始化一个字典的同时添加多对键值

//        NSDictionary *dic3= [ NSDictionary dictionaryWithObjectsAndKeys : @"object" , @"key", @"object1" , @"key1" ,  nil ] ;

//        前面是值 可以是任何类型          后面是key 必须是字符串

        

//        字典的新写法

//        前面是 key  后面是

//        NSDictionary *dic4 = @{ @"key" : @"" , @"key1" : @"1" } ;

        

        

#pragma mark----------------字典的取值-------------------

       NSDictionary *dic5 = @{@"key" : @"" ,@"key1" : @"1" } ;

//        方法一

//        objectForKey : 通过key取字典里面的值

       NSString *string = [dic5objectForKey:@"key"] ;

       NSLog(@"key的值是:%@" , string );

        

//        方法二     字典名 [@“key”]

        NSString *string1= dic5[@"key1" ] ;

       NSLog(@"key1的值是:%@" , string1 );

   

#pragma mark----------------字典的练习-------------------

//        1.用字典表达出自己考试的分数

//         语文 25     数学 1000    英语  3

        NSDictionary *chengji = [NSDictionarydictionaryWithObjectsAndKeys :@"25" ,@"语文",@"1000" ,@"数学" ,@"3" ,@"英语"nil ] ;

       NSString *socre = [chengjiobjectForKey :@"语文"] ;

       NSString *socre1 = [chengjiobjectForKey :@"数学"] ;

       NSString *socre2 = [chengjiobjectForKey :@"英语"] ;

       NSLog(@"\n语文成绩是:%@\n数学成绩是:%@\n英语成绩是:%@" , socre , socre1 , socre2 ) ;

//        方法二 stringWithFormat拼接

      

        

//        2.用字典表达出一年四季的特征分别取出每个季节的特征

       NSDictionary *jijie = [NSDictionarydictionaryWithObjectsAndKeys :@"发芽" ,@"春季",@"开花" ,@"夏季" ,@"结果" ,@"秋季" ,@"凋谢" ,@"冬季"nil ] ;

       NSString *tezheng = [ jijieobjectForKey :@"春季" ] ;

       NSString *tezheng1 = [ jijieobjectForKey :@"夏季" ] ;

       NSString *tezheng2 = [ jijieobjectForKey :@"秋季" ] ;

       NSString *tezheng3 = [ jijieobjectForKey :@"冬季" ] ;

       NSLog(@"\n春季的特征是:%@\n夏季的特征是:%@\n秋季的特征是:%@\n冬季的特征是:%@" , tezheng , tezheng1 , tezheng2 , tezheng3 ) ;


//        遍历字典

//        allkeys :  是所有 key的一个数组

//        count   得到数组内有多少个元素

//            jijie.allKeys

       forint i =0 ; i < jijie.allKeys.count ; i++ )

        {

           NSString * key = jijie.allKeys;

           NSLog(@"%@ " , jijie.allKeys) ;

        }   

    }

   return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值