数组排序错误:“二元运算符 '<' 无法应用于两个 'Int?'操作数”

2024-05-12

这是按 tableView 时间戳中的每个单元格对数组进行排序的代码。

self.ProjectsArray.sorted(by: { (project, project2) -> Bool in       
   return project.timestamp?.intValue < project2.timestamp?.intValue     
   })

有没有更好的方法来对数组进行排序?我做错了什么?


EDIT- 根据您的评论,您想要就地排序,所以我正在更新以就地排序。

您的时间戳变量是Optional,所以你可能会比较nil to nil, or nil to an Int。您可以安全地解开它们并在其中一个为零的情况下提供排序顺序,或者您可以使用零合并运算符来处理nil值作为一些默认的 Int,如 0。这两个选项如下所示:

可选的解包:

self.ProjectsArray.sort(by: { (project, project2) -> Bool in
    if let timestamp1 = project.timestamp, let timestamp2 = project2.timestamp {
       return timestamp1.intValue < timestamp2.intValue
    } else {
        //At least one of your timestamps is nil.  You have to decide how to sort here.
        return true
    }    
})

零合并运算符:

self.ProjectsArray.sort(by: { (project, project2) -> Bool in  
    //Treat nil values as 0s and sort accordingly     
    return (project.timestamp?.intValue ?? 0) < (project2.timestamp?.intValue ?? 0)     
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数组排序错误:“二元运算符 '<' 无法应用于两个 'Int?'操作数” 的相关文章

  • 数组是指针吗? [复制]

    这个问题在这里已经有答案了 数组和指针在 C 和 C 中的实现方式是否不同 我遇到过这个问题 因为在这两种情况下我们都从元素的起始地址访问元素 所以 他们之间应该有密切的关系 请解释一下它们之间的具体关系 谢谢 让我们先把重要的东西放在一边
  • 如何禁用 ARCoachingOverlayView 的自动激活?

    我正在添加一个ARCoachingOverlayView to my ARView像这样 let coachingOverlayTemp ARCoachingOverlayView coachingOverlayTemp delegate
  • 隐藏标签栏并删除空格

    有没有办法隐藏选项卡栏并删除剩余的空间 大约 50px I tried self tabBarController tabBar hidden true self extendedLayoutIncludesOpaqueBars true
  • 获取 Blob 图像并将该图像转换为 Bitmap 图像

    我正在从数据库中获取 blob 格式的图像 我想将其转换为位图图像 我用来将位图转换为 Blob 的代码放在下面 但是请告诉我如何反转它 ByteArrayOutputStream boas new ByteArrayOutputStrea
  • 如何使 SwiftUI 列表行背景颜色扩展整个宽度,包括安全区域之外

    在 SwiftUI 中List 如何制作列表行背景 通过设置 listRowBackground 扩展视图的整个宽度 甚至在安全区域下方 例如 在宽屏 iPhone 例如 iPhone 12 Pro Max 上横向运行时 目前 该单元格在安
  • 如何在 UIAlertController 中的 UITextField 之后插入 UILabel

    我有一个UIAlertController of alert消息文本的样式 我已经插入了一个UITextFiled在其中与addTextField 现在我想要在它下面有一串文本 我想我需要一个UILabel但我该如何插入它呢 A UIAle
  • 将单独的范围放入二维数组中

    我正在尝试获取大小的二维数组 x 3 填充 X只是工作表的大小 行数 并且有 3 列我感兴趣 例如 这些列彼此不靠近arr i 0 应从 AA 栏开始填写 arr i 1 应来自 K 列 并且arr i 2 需要来自 L 列 我尝试按以下方
  • 使用 DataContractJsonSerializer WP7 将数组解析为 Json 字符串

    如何使用 DataContractJsonSerializer 解析 Json 字符串中的数组元素 语法是 array elementsProperies SomeLiteral 您不一定使用 DataContractJsonSeriali
  • 对 pandas 系列进行排序

    我试图弄清楚如何以智能方式对 groupby 聚合生成的系列进行排序 我生成 DataFrame 的聚合 如下所示 means df testColumn groupby df testCategory mean 这产生了一个系列 我现在尝
  • 按钮图像未显示在 UItextfield 的 rightView 中

    我创建了一个按钮图像 并使用 Sa wift 将其放置在 UITextField 密码 的 rightView 上 我想在密码字段中创建切换按钮隐藏 显示安全文本 右视图中显示的图像 Code func passwordToggleButt
  • 将文件中的数字读取到动态分配的数组中

    我需要一个从文件中读取成绩 整数 并返回存储它们的动态分配数组的函数 这是我尝试过的 int readGrades int grades int x scanf d x grades malloc x sizeof int return 0
  • JS如何获取多维数组的最大深度?

    我有一个多维数组 我想知道它的最大深度 我发现了这个灵魂 但它不适用于对象数组 const getArrayDepth arr gt return Array isArray arr 1 Math max arr map getArrayD
  • 如何以编程方式设置 UICollectionViewCell 宽度和高度

    我正在尝试实施一个CollectionView 当我使用自动布局时 我的单元格不会改变大小 但会改变它们的对齐方式 现在我宁愿将它们的尺寸更改为例如 var size CGSize width self view frame width 1
  • Javascript 根据字段值任意排序数组

    所以我有一个对象数组 如下所示 var myArray priority low priority critical priority high 我需要以这种方式排序 1 关键 2 高和3 低 如何才能做到这一点 我建议使用一个对象来存储排
  • 使用 Codable 将字符串编码/解码为整数,并在其间使用函数

    我有这个 json 字符串 let json name Wendy Carlos hexA 7AE147AF hexB 851EB851 let data Data json utf8 我想使用 Codable 对该结构进行编码 或返回 s
  • 关于 Swift 中重写类属性的困惑

    我已阅读 Swift 文档并在这里搜索 但我仍然不确定如何实现类层次结构 其中每个子类为继承的静态属性设置自定义值 那是 基类定义了一个静态属性 所有实例共享相同的值 子类覆盖静态属性 所有实例共享相同的值 这与基类不同 财产可以储存吗 另
  • 在Python中随机交错2个数组

    假设我有两个数组 a 1 2 3 4 b 5 6 7 8 9 我想将这两个数组交错为变量 c 注意 a 和 b 不一定具有相同的长度 但我不希望它们以确定性的方式交错 简而言之 仅仅压缩这两个数组是不够的 我不想要 c 1 5 2 6 3
  • 计算数组中接下来的 n 个元素的乘积

    我想计算下一个的乘积n矩阵的相邻元素 号码n要相乘的元素数应在函数的输入中给出 例如 对于此输入 我应该从第一个开始计算每 3 个连续元素的乘积 p ind max product 1 2 2 1 3 1 3 这给出了 1 2 2 2 2
  • Swift 中的 id 相当于什么?

    我有两个这样的代表 protocol MyFirstDelegate func change value int protocol MySecondDelegate weak var delegate MyFirstDelegate 这些协
  • 相当于 JavaScript 中 Ruby 的each_cons

    许多语言都曾提出过这个问题 但 javascript 却没有 Ruby 有方法Enumerable each cons https devdocs io ruby 2 5 enumerable method i each cons看起来像这

随机推荐