字符串转字典,setViewControllers

1、

有NSDictionary *dict123 = @{@"中文":@[@{@"123":@"123"}],
@"英文":@[@{@"123":@"123"},@{@"123":@"123"}],
@"法文":@[@{@"123":@"123"},@{@"123":@"123"}]};
NSArray *keyArrays = dict123.allKeys;

获得字典中的所有key值。

因为服务器,可能传给你的是一个字符串,但是字符串是字典的形式,那么就要先把字符串转化成字典,然后取值。

/*!
  * @brief 把格式化的JSON格式的字符串转换成字典
  * @param jsonString JSON格式的字符串
  * @return 返回字典
  */
+ (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString {
     if  (jsonString == nil) {
         return  nil;
     }
     
     NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
     NSError *err;
     NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData
                                                         options:NSJSONReadingMutableContainers
                                                           error:&err];
     if (err) {
         NSLog(@ "json解析失败:%@" ,err);
         return  nil;
     }
     return  dic;
}

2、

UINavigationController应该很多项目中都有用,push和pop是最常用的,但不能满足所有需求,如果要删除中间某个VC,或者重构UINavigationController维护的整个VCs的栈,setViewControllers就可以派上用场。

?
1
2
3
4
5
6
7
NSMutableArray * viewControllers = [self.navigationController.viewControllers mutableCopy]; 
for  (UIViewController *viewController in [viewControllers reverseObjectEnumerator]) {
         NSString *tempName = NSStringFromClass([viewController  class ]);
         if  ([tempName isEqualToString:viewControllerName]) {
             [viewControllers removeObject:viewController]; 
         }
[self.navigationController setViewControllers:viewControllers animated:YES];

    可以任意增删改整个VCs栈的其中一个,满足我们的跳转需求,UITabBarController也有同样的方法

    该方法支持iOS3.0+,放心使用。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值