Objective-C入门10:可变字典
#import <Foundation/Foundation.h>
int main(int argc,const char * argv[]) {
@autoreleasepool {
#pragma mark ------------------------可变字典----------------------------------
// 可变字典:可以 删除 添加(替换)
// 可变字典的类名 NSMutableDictionary
// 不可以用这种方式初始化 @{@"":@""}
NSMutableDictionary *dic2 = [NSMutableDictionarydictionary ] ;
// 通过 key设置字典里面的值
[ dic2setObject : @"狮王"forKey : @"name" ] ;
[ dic2setObject : @"狮王"forKey : @"name1" ] ;
NSLog ( @"%@" , dic2 ) ;
// [ dic2 setObject : @"波~" forKey : @"name" ] ;
// NSLog( @"%@" , dic2 ) ;
// 通过 key移除对应的 key和值
// [ dic2 removeObjectForKey : @"name" ] ;
// NSLog( @"%@" , dic2 ) ;
#pragma mark ------------------------字典和字典之间的嵌套---使用实例----------------------------------
// {
// "code": 200;
// “data” :
// {
// “id”:”110119”;
// "nick" : "小花";
// "header" : @"www.baidu.headerImage.png";
// “balance”:”100”;
// }
// }
NSMutableDictionary *dic3 = [NSMutableDictionarydictionary ] ;
[ dic3setObject : @(200)forKey : @"code" ] ;
NSDictionary *dic5 =@{@"id" : @"110119" , @"nick" : @"小花" ,@"header" : @"www.baidu.headerImage.png" ,@"balance" :@"100" } ;
[ dic3setObject:dic5forKey:@"data" ] ;
NSLog( @"%@" , dic3 ) ;
// 200 : 成功
// 300 :失败
// 310 :登录票据失效(客户端需重新登录)
// 判断code值是否是200
// 如果code的返回值是200,输出打他字典里面的所有内容
// 如果不是200 输出返回值失败
NSInteger code = [ dic3 [@"code" ] integerValue ] ;
// NSLog(@"%@",string);
switch (code)
{
{
case 200:
NSLog(@"登录成功") ;
NSDictionary * userInfo = dic3[@"data" ] ;
NSLog(@"用户的呢称:%@" , userInfo[ @"nick" ] );
break;
}
case 300:
NSLog(@"登录失败") ;
break;
case 310:
NSLog(@"登录票据失败") ;
break;
default:
break;
}
#pragma mark ------------------------字典和字典之间的嵌套使用--练习一 --------------------------------
NSMutableDictionary *dic6 = [ [NSMutableDictionaryalloc ] init ] ;
[ dic6setObject : @(200)forKey : @"code" ] ;
NSDictionary *dic7 =@{@"id" : @"123456" , @"name" : @"小花" ,@"phone " : @"13345678822" , @"balance" : @"85.5" , @"msgnum" :@"100条" } ;
[ dic6setObject:dic7forKey : @"data" ] ;
NSLog( @"%@" , dic6 ) ;
NSInteger code1 = [ dic6 [@"code" ] integerValue ] ;
switch (code1)
{
{
case 200 :
NSLog(@"登录成功") ;
NSDictionary * userInfo1 = dic6[@"data" ] ;
NSLog(@"用户的呢称:%@" , userInfo1[ @"name" ] ) ;
NSLog(@"手机号:%ld" , [userInfo1[ @"phone" ]integerValue ] ) ;
NSLog(@"账户余额:%ld" , (long)[userInfo1[@"float" ] integerValue ]);
NSLog(@"未读消息数:%@" , userInfo1[ @"msgnum" ] );
break ;
}
case 300 :
NSLog(@"登录失败") ;
break;
case 310 :
NSLog(@"登录票据失败") ;
break ;
default :
break ;
}
#pragma mark ------------------------字典和字典之间的嵌套使用--练习二 --------------------------------
NSMutableDictionary *dic8 = [ [NSMutableDictionaryalloc ] init ] ;
[ dic8setObject : @(200)forKey : @"code" ] ;
NSDictionary *dic9 = @{@"version" :@"1.0.1" , @"disc" : @"提示" ,@"url" : @"www.hao123.com" } ;
[ dic8setObject : dic9forKey:@"data" ] ;
NSLog( @"%@" , dic8 ) ;
NSInteger code2 = [ dic8 [@"code" ] integerValue ] ;
switch (code2)
{
{
case 200 :
NSLog(@"登录成功") ;
NSDictionary * userInfo2 = dic8[@"data" ] ;
NSLog(@"version:%@" , userInfo2[ @"version" ] ) ;
NSLog(@"iesc:%@" , userInfo2[ @"phone" ] ) ;
NSLog(@"url:%@" , userInfo2[ @"float" ] ) ;
break ;
}
case 300 :
NSLog(@"登录失败") ;
break;
case 310 :
NSLog(@"登录票据失败") ;
break ;
default :
break ;
}
}
return 0;
}