NSDictionary 按浮点数形式对键进行排序

2024-02-13

基本上我有一个带有键和值的 NSDictionary 。

键都是数字,但目前它们是字符串。

我希望能够将它们作为数字进行比较以便对它们进行排序。

例如:如果我有这样的字典:

{
  "100"  => (id)object,
  "20"   => (id)object,
  "10"   => (id)object,
  "1000" => (id)object,
}

我希望能够像这样排序:

{
  "10"   => (id)object,
  "20"   => (id)object,
  "100"  => (id)object,
  "1000" => (id)object,
}

有任何想法吗?

Thanks

Tom


不确定你在做什么——字典本质上是未排序的,默认实现中没有稳定的键排序。如果你想通过排序键遍历值,你可以这样做:

NSInteger floatSort(id num1, id num2, void *context)
{
    float v1 = [num1 floatValue];
    float v2 = [num2 floatValue];
    if (v1 < v2)
        return NSOrderedAscending;
    else if (v1 > v2)
        return NSOrderedDescending;
    else
        return NSOrderedSame;
}

NSArray *allKeys = [aDictionary allKeys];
NSArray *sortedKeys = [allKeys sortedArrayUsingFunction:floatSort context:NULL];
for (id key in sortedKeys)
    id val = [aDictionary objectForKey:key];
    …
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NSDictionary 按浮点数形式对键进行排序 的相关文章

  • 如何知道用户何时更改设置包

    我让用户在 iPhone 的设置区域中更改他们的设置 在下一次网络同步期间 我想将用户更改发送到服务器 但前提是做出改变 但是我如何知道用户何时在设置区域中进行了更改 如果可以的话 我想避免选择总是发送信息 无论是否更改 或者首先从服务器获
  • 打乱 NSMutableArray 而不重复并显示在 UIButton 中

    在我看来 我有 12 个按钮 一个数组包含 6 个名称 我想在其中打印数组名称UIButton标题 这是我的代码 texts NSMutableArray alloc initWithObjects 1 2 3 4 5 6 nil UIBu
  • XCode 无法将 iPhone 应用程序部署到 iPhone 3GS

    因此 我构建了我的 iPhone 应用程序 它在模拟器中运行良好 因此我想将其部署到我的 iPhone 上进行最后一轮测试 然后再使用我的分发配置文件进行公开 Beta 测试 我已经这样做过很多次了 从来没有出现过问题 然而 自从上次测试运
  • iPhone 的电子书框架

    我有一本书想作为 iPhone 应用程序发布 有谁知道我可以使用免费 或便宜 的框架来实现这一目标 换句话说 我想为我的书创建一个独立的 XCODE 项目 其中包含 iPhone 用户将本书作为独立应用程序阅读所需的所有代码 我见过 O R
  • 导入 RNCryptor 后架构 armv7 的未定义符号

    我导入了 RNCryptor 可以在这里找到 https github com rnapier RNCryptor https github com rnapier RNCryptor进入我的应用程序 但是 我在日志中收到了三个错误 Und
  • 如何使用 Swift 使用 TouchID?

    Apple 为 iOS 8 的 TouchID 实现提供的文档采用 Objective C 语言 有 Swift 版本吗 Objective C IBAction touchIDAvailable UIButton touchIDAvail
  • Objective-C – 拥有包含 TestFlight SDK 的 TestFlight 配置

    我已按照 TestFlight 的说明复制 发布 配置 我还使用 TestFlight SDK 从我的应用程序获取实时报告 通过这样做 我必须在我的应用程序中包含一些 TestFlight 代码 当然 我不想在我的应用程序的发布版本中包含此
  • UIPanGestureRecognizer 对坐标的限制

    我在主 UIView 中添加了一个子视图 称为panel 并且我向其中添加了gestureRecognizer 因为我希望它只能在Y轴上拖动并且只能在某些限制下 即160 300 超过300它不能拖动 我以这种方式实现了手势处理 IBAct
  • 如何将 ios7 通用应用程序升级到基于 Xcode 6 的通用故事板应用程序?

    我目前有一个基于 xcode 5 ios 7 的通用应用程序 因此有两个故事板 我正在考虑将其更新到 ios 8 有没有办法 最佳方法将两个故事板迁移到通用的单个故事板 我在 xcode 6 中看不到转换选项 None
  • 加载新控制器时,iPhone 横向模式切换到纵向模式

    我的应用程序在横向模式下正确启动并且运行良好 BOOL shouldAutorotateToInterfaceOrientation UIInterfaceOrientation interfaceOrientation if interf
  • Mac OS X 上的 .dll 等效项 [重复]

    这个问题在这里已经有答案了 我来自一个Windows背景 我习惯于通过创建 dll 然后分发所有库和文档 因此 如果用户想要使用它 他会添加对库的引用并使用它 但是 在 Mac 中 我正在开发 SDK 并且我想要一种方法creating a
  • 如何检测用户是否第一次打开应用程序[重复]

    这个问题在这里已经有答案了 是否可以检测用户是否是第一次打开iOS应用程序 使用Objective C 我想在用户第一次打开应用程序时显示欢迎消息 但之后不再向他们显示 我正在寻找类似的东西 BOOL firstTime AppDelega
  • 在 iOS 应用程序中拨打电话

    我有一些代码尝试在应用程序中进行调用 但它似乎不起作用 UIApplication myApp UIApplication sharedApplication NSString theCall NSString stringWithForm
  • iPhone X 将对象底部与安全区域对齐会破坏其他设备上的外观

    关于 iPhone X 自动布局怪癖的问题 我有两个按钮 以前这些按钮将与超级视图底部对齐 偏移量为 20 以免它们接触屏幕底部 此后我将链接更改为安全区域而不是超级视图 Here s the original setup Looks go
  • 在 iOS 7 中 viewForHeaderInSection 部分是从 1 开始而不是从 0 开始

    我正在处理UITableView在我的项目中 这个项目是在 Xcode 4 5 中创建的 现在我正在使用 Xcode 5 所以我的问题是何时在 iOS 6 中运行我的项目 viewForHeaderInSection方法部分从 0 开始没问
  • Objective-C 中是否有相当于 C++ 动态转换的功能?

    如果我有两个类 子类和超类 SuperClass super new SuperClass SubClass sub new SubClass SubClass sub pointer The nice one line cast belo
  • 无法将项目添加到 NSMutableArray ivar

    我的目标是将字符串添加到数组中 并在我调用的方法中执行此操作 在这个方法中 我在数组中得到一个空值 但不知道为什么 我在课程开始时有这样的内容 NSMutableArray listOfEvents 以及我在每个事件上调用的方法 void
  • UITabBarController 为 TabBar 的每个 ViewController 提供不同的 Storyboard 文件

    我的团队正在开发一个具有 UITabBarController 的应用程序 我们正在使用 Storyboard 来开发界面和流程 由于我们是一个团队 所以我们不能将所有流程放在一个故事板中 因为这会导致与 SVN 同步出现问题 所以 解决方
  • iphone sqlite 静态链接?

    有人静态链接 sqlite 而不是使用动态链接 吗 我遇到的问题是 越狱手机的用户没有与普通 iPhone 所采用的 sqlite 版本相同的版本 因此导致崩溃 我假设在我的应用程序中静态链接已知版本的 sqlite 就是答案 我需要全文支
  • Glib 在 iPhone 应用程序中的使用

    我想基于现有的开源 Objective C 框架开发一个 iPhone 应用程序 但是该框架广泛使用了 glib 库 我找不到一种方法来构建和包含 iPhone 应用程序的 glib 库 非越狱 有什么办法可以做到这一点 或者有没有推荐的方

随机推荐

  • 使用 gulp 创建 tar 档案

    我正在使用 gulp tar 创建一个 tar 文件 如何添加顶级文件夹 以便当用户运行时tar xzf myArchive tar它解压到特定的文件夹中 这是我的代码 gulp task prod min gittag function
  • div 向下滑动时自动聚焦在输入字段上

    我有一个隐藏的div 单击按钮时 div 会向下滑动并带有输入字段 如何让这个输入框在 div 向下滑动时自动对焦 谢谢
  • sphinx autodoc包含子功能

    我想在 sphinx 文档中自动包含函数的子函数 有什么选择呢 我的代码看起来像 import numpy def mainfunc to be documented def subfunc to be documented as well
  • PCRE pcre_exec 线程安全吗?

    我有一个 C 程序 它使用 PCRE 正则表达式来确定 cgroup 中的进程是否应添加到一个变量或另一个变量 我生成一个线程来读取每个正在运行的 cgroup 中的 cpuacct stat 文件 其中线程数从未超过核心数 然后将这些样本
  • Haskell 中的 S 组合器

    可以模拟一下S组合器 https en wikipedia org wiki SKI combinator calculus仅使用标准函数 不通过方程定义 并且不使用 lambda 匿名函数 在 Haskell 中表达 我希望它能按类型 a
  • Facebook“点赞”推荐点击添加变量;无法识别链接的页面作为喜欢的页面

    所以我有一个网站 我们称之为foo com并且所有页面都有点赞按钮插件 https developers facebook com docs reference plugins like 在上面 每个页面上都重新散列相同的代码 所以我 喜欢
  • 如何在 Vue 中条件绑定 v-model?

    在 JavaScript 中 对象可以选择扩展值 如下所示 const payload name Joseph isMember credential true 在 React 中 JSX 可以像这样可选地传递 props
  • 如何使用 SetConsoleHandler() 阻止退出调用

    我知道我必须使用SetConsoleCtrlHandler 如果我想管理控制台关闭事件 不知道怎么屏蔽CTRL CLOSE EVENT 我尝试过如果捕获该事件则返回 false true 但没有成功 这是我到目前为止所得到的 谢谢 Anto
  • 设置运行/段落样式以支持 RTL 和 LTR 单词

    我怎样才能设计一个Run and or Paragraph支持 RTL 和 LTR 字 问题是 我有一个复杂的文本 其中包含波斯语和英语单词 我正在尝试创建一个 docx使用 OpenXML SDK 的文档 但是 英语单词也可以得到 RTL
  • 对 PowerPC 寄存器值感到困惑)?

    所以 我一直在学习 PowerPC 来完成 Xbox 的简单逆向项目 但我总是对这样的事情感到困惑 lwz r11 0 r29 Loads 0x34 from 0x10710 and stores in r11 lwz r10 4 r29
  • android:如何使用属性集构造函数实例化我的自定义视图

    我的自定义视图具有动态自定义属性 例如背景图像属性 通过当前星期分配 我不想使用构造函数 CalendarView Context context AttributeSet attrs 来传递多个属性 并且我尝试使用 Xml asAttri
  • Tomcat 7 作为 Windows 服务无法从其他系统访问

    我已经下载了适用于 32 位 Windows 7 机器的 Tomcat 7 zip 我已经解压了该包并使用 bin service bat 创建了 Windows 服务 但是当我从 windows services msc 启动服务时 我无
  • 在远程 ssh 命令中传递变量

    我希望能够使用 ssh 从我的机器运行命令并传递环境变量 BUILD NUMBER 这就是我正在尝试的 ssh email protected cdn cgi l email protection tools myScript pl BUI
  • 为树状图中的刻度标签着色以匹配簇颜色

    如何为树状图的标签单独着色 使其与 MATLAB 中簇的颜色相匹配 这是使用下面我的答案中的代码生成的所需输出示例 请注意 标签只是 50 个字符系列 A r 如果有更直接的方法来做到这一点 请发布答案 因为我无法通过谷歌搜索找到解决方案
  • 两个节点之间的设备树依赖关系

    我有两个设备树节点 一个设置 GPIO 引脚 另一个配置一个 i2c 总线 例如 gpio2 en gpio gpio hog gpios lt 5 0 gt output high i2c1 gpiom1 gpio 27 compatib
  • SQL Server:搜索所有表中的特定 GUID

    我发现需要清理一些数据 并且我需要找到一些特定的指南 即唯一标识符 在 SQL Server 我想出了一个存储过程SELECT从当前数据库中每个表的每个 uniqueidentifier 列中查找 如果找到 guid 则返回一个结果集 它使
  • 为什么 fs.createReadStream ... pipeline(res) 锁定读取文件?

    我正在使用 Express 传输音频和视频文件根据这个答案 https stackoverflow com a 24977085 304832 相关代码如下 function streamMedia filePath req res cod
  • 是否可以使用 ASP.NET MVC 创建登录系统但不使用会员提供程序?

    我有一个包含用户表的现有数据库 我们计划使用该数据库并将其用于在 ASP NET MVC 中构建的新系统 然而 我不确定的是我是否能够创建一个不使用内置帐户控制器或常规会员资格提供程序的登录系统 以便我们仍然可以使用现有的表结构 所以我的问
  • Javascript 发光/脉动效果在点击时停止

    我有以下 Javascript 来使文本链接连续发光 脉动 此链接显示同一页面的另一个部分 因此我希望它在用户单击它后停止 所以基本
  • NSDictionary 按浮点数形式对键进行排序

    基本上我有一个带有键和值的 NSDictionary 键都是数字 但目前它们是字符串 我希望能够将它们作为数字进行比较以便对它们进行排序 例如 如果我有这样的字典 100 gt id object 20 gt id object 10 gt