面试总结(四)实现有序字典

实现方法

  1. 按NSDictionary的key来对其进行排序:
  2. 将字典的Value再放到一个字典里面,key分别使用有序的字符串
  3. 先将字典转模型,再放到数组里面
  4. 先将dict的allkeys赋给一个数组,然后通过sortedArrayUsingComparator:方法对数组排序,然后遍历数组取字典对应key的值就ok

这里只说大概的两张方法的实现

方法一

1 NSArray *keys = [dict allKeys];
2 NSArray *sortedArray = [keys sortedArrayUsingComparator:^NSComparisonResult(idobj1, id obj2) {
3 return [obj1 compare:obj2 options:NSNumericSearch];
4 }];
5 for (NSString *categoryId in sortedArray) {
6 ……
7 NSLog(@"[dict objectForKey:categoryId] === %@",[dictobjectForKey:categoryId]);
8 }

方法二:

1 NSString *filePath = [[NSBundle mainBundle]pathForResource:@"students" ofType:@"plist"];
2 NSDictionary *stuDic = [NSDictionary dictionaryWithContentsOfFile:filePath];
3 self.studentIndexArray = [NSMutableArray arrayWithCapacity:1];
4 NSArray *arr = [[stuDic allKeys] sortedArrayUsingSelector:@selector(compare:)];

转载于:https://www.cnblogs.com/stronger-ios-lcx/p/5634959.html

iOS开发-面试总结(十四)相关推荐

  1. iOS 11开发教程(十四)iOS11应用代码添加视图

    iOS 11开发教程(十四)iOS11应用代码添加视图 如果开发者想要使用代码为主视图添加视图,该怎么办呢.以下将为开发者解决这一问题.要使用代码为主视图添加视图需要实现3个步骤. (1)实例化视图对 ...

  2. QT开发(六十四)——QT样式表(二)

    QT开发(六十四)--QT样式表 本文主要翻译自QT官方文档Qt Style Sheets . 五.QT样式表参考 QT样式表支持多种的属性.状态和子控件,使得定制组件的外观成为可能. 1.组件 以下 ...

  3. SAP UI5 应用开发教程之六十四 - 基于 OData V4 的 SAP UI5 表格控件如何实现 filter(过滤) 和 sort(排序)功能试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  4. SAP UI5 应用开发教程之五十四 - 如何将本地 SAP UI5 应用配置到本地 Fiori Launchpad 中的试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  5. SAP UI5 应用开发教程之三十四 - SAP UI5 应用基于设备类型的页面适配功能(Device Adaptation)试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  6. Xamarin.Android开发实践(十四)

    原文:Xamarin.Android开发实践(十四) Xamarin.Android之ListView和Adapter 一.前言 如今不管任何应用都能够看到列表的存在,而本章我们将学习如何使用Xama ...

  7. 开发指南专题十四:JEECG微云快速开发平台MiniDao 介绍

    开发指南专题十四:JEECG微云快速开发平台MiniDao 介绍 13.MiniDao 介绍 13.1.  MiniDao简介及特征 MiniDao是Jeecg自己的持久化解决方案,具备了Hibern ...

  8. 《C++游戏开发》笔记十四 平滑过渡的战争迷雾(二) 实现:真正的迷雾来了

    本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9712321 作者:七十一雾央 新浪微博:http:// ...

  9. 读后感: 懈寄生---走出软件作坊:三五个人十来条枪 如何成为开发正规军(十四)

    懈寄生---走出软件作坊:三五个人十来条枪 如何成为开发正规军(十四) http://blog.csdn.net/david_lv/archive/2008/06/11/2535650.aspx 读后 ...

  10. Polyworks脚本开发学习笔记(十四)-WORKSPACE信息读取及管理

    Polyworks脚本开发学习笔记(十四)-WORKSPACE信息读取及管理 Polyworks的工作任务存储分为工作区和项目两级,通过WORKSPACE命令获取工作任务信息,实现更好的任务管理. 下 ...

最新文章

  1. Posix多线程编程—线程属性
  2. 笔记-信息化与系统集成技术-区块链的技术架构
  3. ModelAndView介绍
  4. 中小企业项目的痛VS感人IT团队
  5. px,em,rem,vw单位在网页和移动端的应用
  6. 漫画:什么是计数排序
  7. java泛型面试_Java泛型面试问题
  8. OpenGL ES Emulator横向比较
  9. webbench 压力测试软件
  10. ASEMI低压差线性稳压器AMS1117详解
  11. VMware虚拟机安装ghost win7系统方法
  12. 苹果手机怎么查看已连接的wifi密码_如何查看已连接的WiFi密码,可以这样做!...
  13. 最优化理论——线搜索技术·黄金分割法
  14. mysql的number范围_数据库number类型精度实用分析
  15. LBM学习记录4 Python实现D3Q19圆柱绕流
  16. 计算机网络——局域网
  17. 箭头跳动动画效果和圆盘动画效果
  18. mac book pro高清录屏教程(obs录屏+麦克风录制+soundflower电脑声录制)三合一
  19. 高云半导体| Arora V系列GW5AT-LV138FPG676A荣获2022年度最佳处理器芯片奖
  20. 米什金版货币金融学简答及一些知识点

热门文章

  1. 前端(三)——HTML之表单
  2. Protues 8.6 详细安装步骤
  3. win32程序启用控制台-- 调试输出
  4. matlab显示像素分布,MATLAb-----7--------如何动态显示鼠标的坐标值和图像像素值
  5. java中的servlet是线程安全的嘛_Java面试题:Servlet是线程安全的吗?(转)
  6. git 与github 命令行操作与控制
  7. erlang精要(13)-基本语法(1)
  8. python3精要(27)-*与**解包
  9. mxnet基础到提高(13)--Activation激活函数
  10. 【机器学习】深刻理解决策树-动手计算ID3算法